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
510
CircleCI APIでプチ効率化
sakuragawa
April 22, 2019
Tweet
Share
More Decks by sakuragawa
See All by sakuragawa
PHP + GitHub + Azure Functions = ?
sakuragawa
0
230
今こそCakePHP3に乗り換えよう!/php_conference_fukuoka_2016
sakuragawa
0
1k
CakePHP2と3の違い
sakuragawa
8
4.6k
Other Decks in Programming
See All in Programming
Jaspr Dart Web Framework 박제창 @Devfest 2024
itsmedreamwalker
0
150
Lookerは可視化だけじゃない。UIコンポーネントもあるんだ!
ymd65536
1
130
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
630
ChatGPT とつくる PHP で OS 実装
memory1994
PRO
3
190
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
6
700
テストコード書いてみませんか?
onopon
2
340
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
940
盆栽転じて家具となる / Bonsai and Furnitures
aereal
0
1.8k
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
1.3k
watsonx.ai Dojo #6 継続的なAIアプリ開発と展開
oniak3ibm
PRO
0
170
知られざるDMMデータエンジニアの生態 〜かつてツチノコと呼ばれし者〜
takaha4k
1
350
QA環境で誰でも自由自在に現在時刻を操って検証できるようにした話
kalibora
1
140
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Visualization
eitanlees
146
15k
Embracing the Ebb and Flow
colly
84
4.5k
Done Done
chrislema
182
16k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
240
Optimising Largest Contentful Paint
csswizardry
33
3k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Six Lessons from altMBA
skipperchong
27
3.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Why Our Code Smells
bkeepers
PRO
335
57k
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