Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Fargate + Githubでお手軽CI/CD入門
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
glassmonenkey
September 10, 2019
Technology
480
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Fargate + Githubでお手軽CI/CD入門
glassmonenkey
September 10, 2019
More Decks by glassmonenkey
See All by glassmonenkey
TypeScript で WebAssembly を用いた 型安全なプラグイン設計
nagano
3
690
encoding/json/v2で何が変わるか
nagano
14
6k
アジャイルテストの4象限で考える プロダクト開発の品質への向き合い方
nagano
1
2.7k
パッケージ管理ツール Ryeへの旅路
nagano
1
660
PHPerにとってのWebAssemblyの可能性
nagano
1
1.7k
PHPをブラウザで動かす技術
nagano
0
3k
PHPとWebAssembly
nagano
19
6.8k
アジャイルで始める データ分析基盤構築
nagano
1
3.9k
Goで始めるTDD
nagano
1
3.1k
Other Decks in Technology
See All in Technology
AI時代のエンジニアの情報発信〜個人の発信を組織の力に変える〜
ryo_kawamata
1
7.4k
Active Directory と Entra ID のむむむな関係
murachiakira
PRO
3
1.7k
re:Invent2026 事前勉強会 歴史と愉しみ方10分LT編
toshi_atsumi
0
160
The Author Pays
hiccupps
0
110
Metadata - Section 3 : Dublin Core Standard · DC
mohab1
0
110
増え続けるプロダクトの品質をどう担保するか。ProductSpecとTypeScriptによる取り組み
joere
3
1.1k
Shared Signals Framework 仕様解説
oidfj
0
220
新米を「売り越さない」、Aurora DSQLで作る在庫ゼロ死守の限定ドロップEC
yama3133
0
190
AWS Quick 入門 | 目指せ Quick マスター 01
inariku
PRO
1
120
慶應義塾大学 AI実践05 論文執筆の仕組み化
keio_smilab
PRO
7
3.8k
AIコーディングはじめました
miso
0
160
ライフワーク「猫でもわかるDirectConnect」
kentapapa
0
280
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
The Limits of Empathy - UXLibs8
cassininazir
2
770
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
820
The Cult of Friendly URLs
andyhume
79
7.1k
Skip the Path - Find Your Career Trail
mkilby
1
290
Automating Front-end Workflow
addyosmani
1370
210k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
3k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
520
Utilizing Notion as your number one productivity tool
mfonobong
4
640
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をうまく使うと踏み台として使えそう…?