Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
CircleCI APIでプチ効率化
sakuragawa
April 22, 2019
Programming
1
330
CircleCI APIでプチ効率化
sakuragawa
April 22, 2019
Tweet
Share
More Decks by sakuragawa
See All by sakuragawa
PHP + GitHub + Azure Functions = ?
sakuragawa
0
170
今こそCakePHP3に乗り換えよう!/php_conference_fukuoka_2016
sakuragawa
0
870
CakePHP2と3の違い
sakuragawa
8
4.1k
Other Decks in Programming
See All in Programming
Workshop on Jetpack compose
aldefy
0
140
なぜRubyコミュニティにコミットするのか?
luccafort
0
300
SwiftPMのPlugin入門 / introduction_to_swiftpm_plugin
uhooi
2
100
Zynq MP SoC で楽しむエッジコンピューティング ~RTLプログラミングのススメ~
ryuz88
0
330
Azure Functionsをサクッと開発、サクッとデプロイ/vscodeconf2023-baba
nina01
1
330
(新米)エンジニアリングマネージャーのしごと #RSGT2023
murabayashi
9
5.6k
Writing Greener Java Applications
hollycummins
0
340
10年以上続くプロダクトの フロントエンド刷新プロジェクトのふりかえり
yotahada3
2
320
花き業界のサプライチェーンを繋げるプロダクト開発の進め方
userlike1
0
160
How to Fight Production Incidents?
asatarin
0
180
Swift Concurrency in GoodNotes
inamiy
4
1.3k
Rust、何もわからない...#6発表資料
ryu19
0
110
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
59
5.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
657
120k
Infographics Made Easy
chrislema
235
17k
Testing 201, or: Great Expectations
jmmastey
25
5.7k
Documentation Writing (for coders)
carmenintech
51
2.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
182
15k
Building Applications with DynamoDB
mza
85
5k
5 minutes of I Can Smell Your CMS
philhawksworth
198
18k
Statistics for Hackers
jakevdp
785
210k
Atom: Resistance is Futile
akmur
256
24k
Web Components: a chance to create the future
zenorocha
304
40k
BBQ
matthewcrist
75
8.1k
Transcript
CircleCI APIで プチ効率化
自己紹介 ◦ 株式会社Fusic ◦ エンジニア マネージャー ◦ 櫻川 幸三 ◦
GitHub : https://github.com/kozo 2
“ CircleCI API使ってますか? 3
4 ユーザー プロジェクト ビルド・ジョブ キー Artifacts - ログインユーザー情報 - フォロープロジェクト一覧
- プロジェクトを新規フォロー - 最新ビルドの取得(全て、プロジェクト単位) - プロジェクトのキャッシュ削除 - ジョブ情報を取得 - ジョブの実行(シングル、ブランチ指定) - ジョブの再実行 - ビルドキャンセル - ビルドデータの取得 - ユーザー作成 - チェックアウトキーの一覧 - チェックアウトキーの取得・作成・削除 - SSHキーの取得・作成・削除 - Herokuキー - Artifactの取得 - Artifactのダウンロード API一覧
API一覧 5 ユーザー プロジェクト ビルド・ジョブ キー Artifacts - ログインユーザー情報 -
フォロープロジェクト一覧 - プロジェクトを新規フォロー - 最新ビルドの取得(全て、プロジェクト単位) - プロジェクトのキャッシュ削除 - ジョブ情報を取得 - ジョブの実行(シングル、ブランチ指定) - ジョブの再実行 - ビルドキャンセル - ビルドデータの取得 - ユーザー作成 - チェックアウトキーの一覧 - チェックアウトキーの取得・作成・削除 - SSHキーの取得・作成・削除 - Herokuキー - Artifactの取得 - Artifactのダウンロード
地味に便利 自動フォロー
7
“ 毎回する作業 × API = 自動化 8
Follow a New Project on CircleCI 9
10
11 GitHub GitHub Apps API Call Lambda Webhook
12 難しいんでしょ? お高いんでしょ?
13 curl -X POST https://circleci.com/api/v1.1/project/github/:username/:project/follow?circle-token=:token
自動フォロー ◦ メリット ◦ 簡単 ◦ GitHub全リポジトリに必ず連携 ◦ デメリット ◦
強制的に連携されるので、 連携不要なプロジェクトが混ざってい る場合は邪魔になる 14
CircleCIへの キューイングをコントロール
16 特定リポジトリのテスト実行時間がものすごく長い
18
19 テスト順調!
20 ちょっと遅い?
21 おそ。。。い。。。
22 。。。
23 詰んだ。。。
Recent Builds For A Single Project Trigger a new Build
with a Branch 24
25 GitHub API Gateway GitHub Actions DynamoDB Lambda Push POST
Write API Call Read
26
Tips ◦ CircleCIをPushで動かしたくない場合 ◦ 全ブランチをignoreに設定する 27 branches ignore: - /.*/
キューイング ◦ メリット ◦ 実行タイミングをコントロールできる ◦ デメリット ◦ 実装が少し大変 ◦
Performance Planを検討した方がいい 28
その他 ◦ 任意のタイミングでデプロイを実行する ◦ Artifactをダウンロードするコマンド作成 ◦ GitHub Actions等のworkflowsツールとの連携 ◦ 静的解析ツール等との連携
◦ etc… 29
まとめ ◦ API利用は意外と簡単 ◦ APIは使わなくても困らないけど、きっ と効率化できるポイントがあるはず ◦ APIを使うとCircleCIがより便利になる 30
ご清聴ありがとうございました Fusicではエンジニアを募集しています! 31