Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CircleCI APIでプチ効率化
Search
sakuragawa
April 22, 2019
Programming
1
470
CircleCI APIでプチ効率化
sakuragawa
April 22, 2019
Tweet
Share
More Decks by sakuragawa
See All by sakuragawa
PHP + GitHub + Azure Functions = ?
sakuragawa
0
220
今こそCakePHP3に乗り換えよう!/php_conference_fukuoka_2016
sakuragawa
0
1k
CakePHP2と3の違い
sakuragawa
8
4.6k
Other Decks in Programming
See All in Programming
Kotlin 2.0 and Beyond
antonarhipov
2
150
Understand the mechanism! Let's do screenshots tests of Compose Previews with various variations / 仕組みから理解する!Composeプレビューを様々なバリエーションでスクリーンショットテストしよう
sumio
3
480
Prolog入門
qnighy
4
990
Rubyのobject_id
qnighy
6
1.3k
いつか使える ObjectSpace / Maybe useful ObjectSpace
euglena1215
2
130
React + TextAliveでカッコいいLyric Applicatioinを作ろう!!
tosuri13
0
400
dotfiles について話したい #湘なんか
stefafafan
2
300
REXML改善のその後
naitoh
0
190
What is Parser
yui_knk
9
4.1k
Amazon BedrockでサーバレスなAIお料理ボットを作成する!!
tosuri13
0
200
Architecture Decision Record (ADR)
nearme_tech
PRO
1
670
Jakarta EE meets AI
ivargrimstad
0
360
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
363
22k
Fashionably flexible responsive web design (full day workshop)
malarkey
401
65k
Side Projects
sachag
451
42k
Ruby is Unlike a Banana
tanoku
96
11k
Design by the Numbers
sachag
277
19k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
225
22k
Bash Introduction
62gerente
608
210k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
Practical Orchestrator
shlominoach
185
10k
Typedesign – Prime Four
hannesfritz
39
2.3k
Pencils Down: Stop Designing & Start Developing
hursman
119
11k
Code Review Best Practice
trishagee
62
16k
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