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
410
Fargate + Githubでお手軽CI/CD入門
glassmonenkey
September 10, 2019
Tweet
Share
More Decks by glassmonenkey
See All by glassmonenkey
encoding/json/v2で何が変わるか
nagano
14
3.6k
アジャイルテストの4象限で考える プロダクト開発の品質への向き合い方
nagano
1
2.3k
パッケージ管理ツール Ryeへの旅路
nagano
1
590
PHPerにとってのWebAssemblyの可能性
nagano
1
1.5k
PHPをブラウザで動かす技術
nagano
0
2.6k
PHPとWebAssembly
nagano
19
6k
アジャイルで始める データ分析基盤構築
nagano
1
3.5k
Goで始めるTDD
nagano
1
2.9k
Python製の姓名分割 ライブラリをGoに移植した話
nagano
0
1.6k
Other Decks in Technology
See All in Technology
ハノーファーメッセ2025で見た生成AI活用ユースケース.pdf
hamadakoji
1
500
NLPコロキウム20251022_超効率化への挑戦: LLM 1bit量子化のロードマップ
yumaichikawa
3
550
Okta Identity Governanceで実現する最小権限の原則 / Implementing the Principle of Least Privilege with Okta Identity Governance
tatsumin39
0
180
CNCFの視点で捉えるPlatform Engineering - 最新動向と展望 / Platform Engineering from the CNCF Perspective
hhiroshell
0
140
AWS DMS で SQL Server を移行してみた/aws-dms-sql-server-migration
emiki
0
250
仕様駆動開発を実現する上流工程におけるAIエージェント活用
sergicalsix
5
1.4k
東京大学「Agile-X」のFPGA AIデザインハッカソンを制したソニーのAI最適化
sony
0
150
Okta Identity Governanceで実現する最小権限の原則
demaecan
0
170
20251024_TROCCO/COMETAアップデート紹介といくつかデモもやります!_#p_UG 東京:データ活用が進む組織の作り方
soysoysoyb
0
120
GraphRAG グラフDBを使ったLLM生成(自作漫画DBを用いた具体例を用いて)
seaturt1e
1
160
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
310
Kubernetes self-healing of your workload
hwchiu
0
590
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Making Projects Easy
brettharned
120
6.4k
BBQ
matthewcrist
89
9.9k
How STYLIGHT went responsive
nonsquared
100
5.9k
Agile that works and the tools we love
rasmusluckow
331
21k
Raft: Consensus for Rubyists
vanstee
140
7.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
130k
Bash Introduction
62gerente
615
210k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
We Have a Design System, Now What?
morganepeng
53
7.8k
Gamification - CAS2011
davidbonilla
81
5.5k
Optimizing for Happiness
mojombo
379
70k
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をうまく使うと踏み台として使えそう…?