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
570
CircleCI APIでプチ効率化
sakuragawa
April 22, 2019
Tweet
Share
More Decks by sakuragawa
See All by sakuragawa
PHP + GitHub + Azure Functions = ?
sakuragawa
0
250
今こそCakePHP3に乗り換えよう!/php_conference_fukuoka_2016
sakuragawa
0
1.1k
CakePHP2と3の違い
sakuragawa
8
4.8k
Other Decks in Programming
See All in Programming
CopilotKit + AG-UIを学ぶ
nearme_tech
PRO
1
120
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
17
9.6k
PJのドキュメントを全部Git管理にしたら、一番喜んだのはAIだった
nanaism
0
230
AIとペアプロして処理時間を97%削減した話 #pyconshizu
kashewnuts
1
190
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
240
CSC307 Lecture 14
javiergs
PRO
0
450
Head of Engineeringが現場で回した生産性向上施策 2025→2026
gessy0129
0
210
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.6k
文字コードの話
qnighy
43
17k
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
1
400
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
110
15年目のiOSアプリを1から作り直す技術
teakun
1
590
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
304
21k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
280
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
770
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Design in an AI World
tapps
0
160
Making Projects Easy
brettharned
120
6.6k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
63
30 Presentation Tips
portentint
PRO
1
250
Statistics for Hackers
jakevdp
799
230k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
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