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
Fargate + Githubでお手軽CI/CD入門
Search
glassmonenkey
September 10, 2019
Technology
0
390
Fargate + Githubでお手軽CI/CD入門
glassmonenkey
September 10, 2019
Tweet
Share
More Decks by glassmonenkey
See All by glassmonenkey
アジャイルテストの4象限で考える プロダクト開発の品質への向き合い方
nagano
1
1.8k
パッケージ管理ツール Ryeへの旅路
nagano
1
510
PHPerにとってのWebAssemblyの可能性
nagano
1
1.3k
PHPをブラウザで動かす技術
nagano
0
2.3k
PHPとWebAssembly
nagano
19
5.4k
アジャイルで始める データ分析基盤構築
nagano
1
3.3k
Goで始めるTDD
nagano
1
2.8k
Python製の姓名分割 ライブラリをGoに移植した話
nagano
0
1.5k
PHPとGraphQL
nagano
3
5.7k
Other Decks in Technology
See All in Technology
Developers Summit 2025 浅野卓也(13-B-7 LegalOn Technologies)
legalontechnologies
PRO
0
280
Culture Deck
optfit
0
360
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
110
【Developers Summit 2025】プロダクトエンジニアから学ぶ、 ユーザーにより高い価値を届ける技術
niwatakeru
2
980
Postmanを使いこなす!2025年ぜひとも押さえておきたいPostmanの10の機能
nagix
2
130
『AWS Distinguished Engineerに学ぶ リトライの技術』 #ARC403/Marc Brooker on Try again: The tools and techniques behind resilient systems
quiver
0
140
テストアーキテクチャ設計で実現する高品質で高スピードな開発の実践 / Test Architecture Design in Practice
ropqa
3
740
TAMとre:Capセキュリティ編 〜拡張脅威検出デモを添えて〜
fujiihda
1
120
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
820
速くて安いWebサイトを作る
nishiharatsubasa
1
510
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
570
モノレポ開発のエラー、誰が見る?Datadog で実現する適切なトリアージとエスカレーション
biwashi
6
780
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Six Lessons from altMBA
skipperchong
27
3.6k
Building an army of robots
kneath
302
45k
Scaling GitHub
holman
459
140k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Being A Developer After 40
akosma
89
590k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Unsuck your backbone
ammeep
669
57k
Bash Introduction
62gerente
610
210k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Transcript
Fargate + Github actionで お手軽CI/CD入門 ニュースメディア テクノロジーグループ 永野 峻輔
氏名 : 永野峻輔 所属:ニュースメディア部 テクノロージグループ 業務:エキサイトニュース(PHP, JS, Python) Elastic Search
/ Sparkクラスタの構築中 趣味 : ゲーム(グラブル) 漫画など
https://www.excite.co.jp
今日の話す内容 - CI/CDとは - Github Action + Fargateの組み合わせのCI/CDができ たよって報告 ※
Dockerなどのコンテナの話が出てきますが本筋からそれ るので解説はしません。
今日の話す内容 - CI/CDとは - Github Action + Fargateの組み合わせのCI/CDがで きたよって報告
CI/CD 聞いたことありますか?
CI/CD やってますか?
http://moe-maxim.com/nannoseikamo-eraremasendeshita/
CI = 継続的インテグレーション CD = 継続的デリバリー
継続的インテグレーション 引用 https://www.redhat.com/ja/topics/devops/what-is-ci-cd • 自動ビルド • 自動(ユニット)テスト
継続的デリバリー 引用 https://www.redhat.com/ja/topics/devops/what-is-ci-cd • 自動デプロイ • カナリアリリース
なぜCI/CDが大事か • プロダクトの質の向上 • 心理的安全性の向上 • PDCAの仕組み化 開発作業の専念
今日の話す内容 - CI/CDについて - Github Action + Fargateの組み合わせのCI/CDがで きたよって報告 -
GithubActionとは - 採用したアプリケーションの要件 - Fargateとは - 構成図
CI/CDの選択肢 • AWS Code系 • Jenkins • Circle CI •
Github Action (new !!) …etc
Github Actionとは • GitHub上で動作するサーバレス(コンテナ)実行環境 • 昨年10月にリリースされた機能(現在もβ版) • 現在はymlベース(Azure パイプライン互換) •
CI/CDに注力するとのこと (issueの自動タグ付けとか出来ることはもっと広い) • .github/workflows ディレクトリにファイルを置くだけ https://help.github.com/ja/articles/about-github-actions
Github Action (自動デプロイ) name: deploy on: push: branches: - master
jobs: test: runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v1 - name: run deploy run: cd ${GITHUB_WORKSPACE} && なんかデプロイ
Github Action (cron) name: schedule on: schedule: - cron: 0
* * * * jobs: test: runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v1 - name: run deploy run: cd ${GITHUB_WORKSPACE} && なんか処理
Github Action 履歴
目的アプリケーションの要件 • VPC内で稼働するバッチアプリケーション ◦ cronで定期実行される • デプロイはscp&sshベース ◦ EMRを都度作成して破棄する
・マネージドなコンテナクラスタ環境 ・VPC外に存在(外部から叩きやすい) ・クラウドウォッチと組み合わせることでタスクを定期実行可能 ・サービス(常駐コンテナ)とタスク(使い捨てコンテナ)の使い分け可能 ・ecs cliがdocker-composeを流用できるので学習コストも低め 1.バッチ処理に必要なものをgithub.comからコンテナ化してFargateに配布 2.FargateからVPC内のアプリケーションへアプリケーションを配布 採用理由 方法
VPC デプロイサーバー郡 ① コンテナイメージをビ ルド &push ②pushしたイメージで タスクを更新 ③イメージをpull Fargate
ECR ④定期的なタスク実行 AWS
Github Action 感想 良かった点 Github上で完結(マトリックスビルドもOK) CIは簡単に書けた (※Dockerfileを書く程度の知識は必須) 個人開発で使えそう OSSのCIはこれ使ったものが増えそう。 課題点
キャッシュが無かったり痒いところには手が届かない?
Fargate 感想 良かった点 箱(クラスタ) を作れば 準備OKな感じが今っぽい ラムダほどアーキテクチャ変えなくて済む 要望 Fargateにデプロイしたコンテナに入る術がない? EKSのFargate化待ってます!!
まとめ • CI/CDは大事(小並感) • Github Action + Fargateで簡単なCI/CDは実現できた • 凝ったことをしないなら入門には良さげ
◦ CODE系シリーズ活用しよう!! • Fargateをうまく使うと踏み台として使えそう…?