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
590
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CircleCI APIでプチ効率化
sakuragawa
April 22, 2019
More Decks by sakuragawa
See All by sakuragawa
PHP + GitHub + Azure Functions = ?
sakuragawa
0
260
今こそCakePHP3に乗り換えよう!/php_conference_fukuoka_2016
sakuragawa
0
1.1k
CakePHP2と3の違い
sakuragawa
8
4.9k
Other Decks in Programming
See All in Programming
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
290
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.5k
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
290
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
730
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
180
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
320
AIで効率化できた業務・日常
ochtum
0
140
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.7k
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
160
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
170
ふつうのFeature Flag実践入門
irof
8
4.1k
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
120
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
320
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
480
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
How GitHub (no longer) Works
holman
316
150k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
The Language of Interfaces
destraynor
162
27k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
440
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
470
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
190
Accessibility Awareness
sabderemane
1
140
Amusing Abliteration
ianozsvald
1
210
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