SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
ECSとGitLabでCI環境構築
Report
iwata jaws-ug
Follow
Japan AWS User Group Iwata
Sep. 12, 2020
•
0 likes
•
623 views
1
of
35
ECSとGitLabでCI環境構築
Sep. 12, 2020
•
0 likes
•
623 views
Download Now
Download to read offline
Report
Presentations & Public Speaking
JAWS SONIC 2020 発表資料
iwata jaws-ug
Follow
Japan AWS User Group Iwata
Recommended
比較サイトの検索改善(SPA から SSR に変換)
gree_tech
664 views
•
42 slides
BITRISEを使っています
Kazuaki KURIU
5.8K views
•
34 slides
CircleCIで悩んだことピックアップ
Takeo Saga
137 views
•
18 slides
ハイブリッドクラウド研究会趣旨説明とこれまでの取り組み(2019/01/24)
Masahiko Ebisuda
2.2K views
•
11 slides
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
Google Cloud Platform - Japan
13.6K views
•
28 slides
MSPサービスを支えるCircleCI
Takeo Saga
544 views
•
13 slides
More Related Content
What's hot
Micronaut on Azure 試してみた
拓将 平林
1.9K views
•
15 slides
Azure Searchで作る検索サービス
Yuta Matsumura
1.8K views
•
25 slides
Updates of Azure NoSQL announced at Microsoft Ignite Spring 2021
Oshitari_kochi
1.5K views
•
17 slides
How Wantedly (in)directly uses AWS
Yoshinori Kawasaki
644 views
•
19 slides
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
満徳 関
6.6K views
•
82 slides
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
gree_tech
1K views
•
24 slides
What's hot
(20)
Micronaut on Azure 試してみた
拓将 平林
•
1.9K views
Azure Searchで作る検索サービス
Yuta Matsumura
•
1.8K views
Updates of Azure NoSQL announced at Microsoft Ignite Spring 2021
Oshitari_kochi
•
1.5K views
How Wantedly (in)directly uses AWS
Yoshinori Kawasaki
•
644 views
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
満徳 関
•
6.6K views
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
gree_tech
•
1K views
[hccjp#2] 忖度なし!自社にあったハイブリッドクラウドの選び方
Daichi Ogawa
•
18.1K views
Container deployment on Azure
Tsukasa Kato
•
1.6K views
Google Cloud Platformでソーシャルゲームを1本出してみた!
Hasegawa Yusuke
•
4.4K views
grasysの仕組み解説
Hasegawa Yusuke
•
6K views
iOS対応のCIサービス「Bitrise」を使ってみた
Kosuke Ogawa
•
1.9K views
Azure Stack Hybrid DevOpsデモンストレーション
Masahiko Ebisuda
•
2.3K views
モバイルアプリ開発者にも知ってほしい Microsoft AzureのDatabase as a Service
Yuta Matsumura
•
605 views
「サーバレスの薄い本」からの1年 #serverlesstokyo
Masahiro NAKAYAMA
•
4.9K views
ここがつらいよAws batch
Yu Yamada
•
12.2K views
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
gree_tech
•
585 views
Nested Hyper-v on Azure
Masahiko Ebisuda
•
182 views
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
Sato Shun
•
84.7K views
Azure Arcで「どこでも」Azureサービスを利用可能に!
Masahiko Ebisuda
•
1.9K views
CYDASアジャイル開発状況報告LT
真吾 吉田
•
1.3K views
Similar to ECSとGitLabでCI環境構築
Gitlab ci & ecsへのデプロイ
iwata jaws-ug
129 views
•
19 slides
AWSで動画共有サイトを作成して全社に公開
ToruKubota4
455 views
•
20 slides
わんくま東京勉強会#46 Azureセッション資料
guest628c07
715 views
•
40 slides
わんくま東京勉強会#46 Azureセッション資料
Shinichiro Isago
829 views
•
40 slides
現場開発者視点で答えるWindows Azure
Keiichi Hashimoto
1.7K views
•
38 slides
仮想通貨取引所 bitbank の IaC の導入と実践
bitbank, Inc. Tokyo, Japan
2.9K views
•
45 slides
Similar to ECSとGitLabでCI環境構築
(20)
Gitlab ci & ecsへのデプロイ
iwata jaws-ug
•
129 views
AWSで動画共有サイトを作成して全社に公開
ToruKubota4
•
455 views
わんくま東京勉強会#46 Azureセッション資料
guest628c07
•
715 views
わんくま東京勉強会#46 Azureセッション資料
Shinichiro Isago
•
829 views
現場開発者視点で答えるWindows Azure
Keiichi Hashimoto
•
1.7K views
仮想通貨取引所 bitbank の IaC の導入と実践
bitbank, Inc. Tokyo, Japan
•
2.9K views
JenkinsとCodeBuildとCloud Buildと私
Shoji Shirotori
•
5.4K views
20150704 MS Azure最新 - innovation egg 第4回
Keiji Kamebuchi
•
2.6K views
Keynote
Hiroshi Ochi
•
598 views
はじめての Azure 開発
Yoshitaka Seo
•
1.3K views
Profile
Ryuta5
•
19 views
サーバーレスの今とこれから
真吾 吉田
•
35.2K views
Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介
Daisuke Ikeda
•
598 views
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
Issei Hiraoka
•
359 views
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
Ito Takayuki
•
525 views
Try IoT with Node-RED
Kimihiko Kitase
•
4.1K views
20190515 hccjp hybrid_strategy
Osamu Takazoe
•
2.3K views
July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話
Shingo Kawahara
•
1.2K views
Azure DevOps CICD Azure SQL / Data Factory
Ryoma Nagata
•
355 views
Microsoft Azure Update 20151112
Ayako Omori
•
1.8K views
More from iwata jaws-ug
JAWS DAYS 2017 [AWSワークショップ] AWS初心者いらっしゃい
iwata jaws-ug
1.9K views
•
25 slides
JAWS-UG 磐田支部 第7回勉強会Agenda
iwata jaws-ug
215 views
•
7 slides
第6回はじめてのAws jaws ug-iwata
iwata jaws-ug
404 views
•
39 slides
第3回勉強会
iwata jaws-ug
255 views
•
10 slides
第5回 re:mote2015 Work spacesを試してみた
iwata jaws-ug
317 views
•
47 slides
第4回はじめてのAws jaws ug-iwata
iwata jaws-ug
649 views
•
68 slides
More from iwata jaws-ug
(8)
JAWS DAYS 2017 [AWSワークショップ] AWS初心者いらっしゃい
iwata jaws-ug
•
1.9K views
JAWS-UG 磐田支部 第7回勉強会Agenda
iwata jaws-ug
•
215 views
第6回はじめてのAws jaws ug-iwata
iwata jaws-ug
•
404 views
第3回勉強会
iwata jaws-ug
•
255 views
第5回 re:mote2015 Work spacesを試してみた
iwata jaws-ug
•
317 views
第4回はじめてのAws jaws ug-iwata
iwata jaws-ug
•
649 views
第6回勉強会 最新情報
iwata jaws-ug
•
206 views
第2回はじめてのAws jaws ug-iwata
iwata jaws-ug
•
418 views
ECSとGitLabでCI環境構築
1.
ECSとGitLabでCI環境構築 JAWS-UG 磐田支部 伊藤
秀樹
2.
JAWS-UG 磐田支部 ✓ 伊藤秀樹(いとうひでき) ✓
輸送機器メーカーのIT子会社に勤務 ✓ Webサイトやデータベースなどのインフラ設計や構築、 サーバ運用を担当 ✓ 好きなAWSのサービス:EC2、S3、ECS ✓ JAWS-UG 磐田支部を設立し、コアメンバーの一人として活動中
3.
Agenda 【解説】 ・CI環境の概要図 ・なぜ、CI環境が必要なのか? ・GitLab CI/CDとは? ・ECSへのデプロイ概要 【デモ環境紹介】 ・コードテスト、コードビルド、デプロイ
4.
CI環境の概要図 GitLab CI Runner https://gitlab.com/ 2,000 CI
pipeline minutes per group per month on our shared runners
5.
なぜ、CI環境が必要なのか? よくキーワードとして出てくるのは、「チーム開発の生産性向上」です 引用:https://www.gitlab.jp/stages-devops-lifecycle/continuous-integration/ チームにCI/CDワークフローが必要な理由 ・エラーを可能な限り迅速に検出: 開発者の記憶が新鮮なうちに問題を修正できます ・統合の問題を軽減: 小さな問題ほど解消しやすいです ・複合的な問題の回避:
チームはより速く、より自信を持って開発することができます 継続的インテグレーション ・すべての変更がリリース可能であることを保証: リリース前にすべてのテストが実行済みです ・各リリースのリスクを低減: リリースを「簡単」にする ・価値をより迅速に提供: 信頼性の高いデプロイにより、頻繁にリリースできます ・素早いフィードバックループ: 顧客から変更に対する迅速かつ頻繁なフィードバックが得られます 継続的デリバリー
6.
なぜ、CI環境が必要なのか? よくキーワードとして出てくるのは、「チーム開発の生産性向上」です 引用:https://www.gitlab.jp/stages-devops-lifecycle/continuous-integration/ チームにCI/CDワークフローが必要な理由 ・エラーを可能な限り迅速に検出: 開発者の記憶が新鮮なうちに問題を修正できます ・統合の問題を軽減: 小さな問題ほど解消しやすいです ・複合的な問題の回避:
チームはより速く、より自信を持って開発することができます 継続的インテグレーション ・すべての変更がリリース可能であることを保証: リリース前にすべてのテストが実行済みです ・各リリースのリスクを低減: リリースを「簡単」にする ・価値をより迅速に提供: 信頼性の高いデプロイにより、頻繁にリリースできます ・素早いフィードバックループ: 顧客から変更に対する迅速かつ頻繁なフィードバックが得られます 継続的デリバリー 短いサイクルで プログラム開発
7.
なぜ、CI環境が必要なのか? よくキーワードとして出てくるのは、「チーム開発の生産性向上」です 引用:https://www.gitlab.jp/stages-devops-lifecycle/continuous-integration/ チームにCI/CDワークフローが必要な理由 ・エラーを可能な限り迅速に検出: 開発者の記憶が新鮮なうちに問題を修正できます ・統合の問題を軽減: 小さな問題ほど解消しやすいです ・複合的な問題の回避:
チームはより速く、より自信を持って開発することができます 継続的インテグレーション ・すべての変更がリリース可能であることを保証: リリース前にすべてのテストが実行済みです ・各リリースのリスクを低減: リリースを「簡単」にする ・価値をより迅速に提供: 信頼性の高いデプロイにより、頻繁にリリースできます ・素早いフィードバックループ: 顧客から変更に対する迅速かつ頻繁なフィードバックが得られます 継続的デリバリー 各プロセスの 自動化
8.
なぜ、CI環境が必要なのか? よくキーワードとして出てくるのは、「チーム開発の生産性向上」です 引用:https://www.gitlab.jp/stages-devops-lifecycle/continuous-integration/ チームにCI/CDワークフローが必要な理由 ・エラーを可能な限り迅速に検出: 開発者の記憶が新鮮なうちに問題を修正できます ・統合の問題を軽減: 小さな問題ほど解消しやすいです ・複合的な問題の回避:
チームはより速く、より自信を持って開発することができます 継続的インテグレーション ・すべての変更がリリース可能であることを保証: リリース前にすべてのテストが実行済みです ・各リリースのリスクを低減: リリースを「簡単」にする ・価値をより迅速に提供: 信頼性の高いデプロイにより、頻繁にリリースできます ・素早いフィードバックループ: 顧客から変更に対する迅速かつ頻繁なフィードバックが得られます 継続的デリバリー 各プロセスの自動化は 短いサイクルを回すための手段です 重要な事は、このプロセスでソースコードの 構文チェックや単体テストを実施し 修正することで、安定した品質を得られます
9.
GitLab CI/CDとは? 引用:https://gitlab-docs.creationline.com/ee/ci/introduction/index.html GitLab CI/CDはGitLabに組み込まれた強力なツールで、サードパーティ製の アプリケーションやインテグレーションを必要とせず、すべての継続的な開発 手法(継続的インテグレーション、デリバリー、デプロイメント)をソフト ウェアに適用できます。 ★基本的なCI/CDワークフロー★GitLab
CI/CDの仕組み GitLab CI/CDを使用するために必要 なのは、Gitリポジトリでホストされて いるアプリケーションのコードベース と、リポジトリのルートにある .gitlab-ci.ymlというファイルでビル ド、テスト、デプロイのスクリプトを 指定することだけです。
10.
ECSへのデプロイ概要 GitLab CI Runner Amazon
ECR AWS Fargate
11.
ECSへのデプロイ概要【開発】 ①ソースを push GitLab CI Runner ②パイプライン 起動 AWS
FargateAmazon ECR
12.
ECSへのデプロイ概要【開発】 GitLab CI Runner AWS
Fargate ③テスト用コンテナイメージのビルド ④ソースコードの構文チェックと単体テスト実施 Amazon ECR
13.
ECSへのデプロイ概要【本番】 ①リポジトリ タグ付け GitLab CI Runner ②パイプライン 起動 AWS
FargateAmazon ECR
14.
ECSへのデプロイ概要【本番】 GitLab CI Runner AWS
Fargate ③テスト用コンテナイメージのビルド ④ソースコードの構文チェックと単体テスト実施 ⑤本番用コンテナイメージのビルド Amazon ECR
15.
ECSへのデプロイ概要【本番】 GitLab CI Runner AWS
FargateAmazon ECR
16.
ECSへのデプロイ概要【本番】 GitLab CI Runner AWS
FargateAmazon ECR
17.
ECSへのデプロイ概要【本番】 GitLab CI Runner AWS
Fargate ⑧アプリのデプロイ ⑨ビルドイメージ のpull Amazon ECR
18.
ECSへのデプロイ概要【全体】 ①ソースを push GitLab CI Runner ②パイプライン 起動 AWS
Fargate ⑨ビルドイメージ のpull ⑧アプリのデプロイ Amazon ECR ③テスト用コンテナイメージのビルド ④ソースコードの構文チェックと単体テスト実施 ⑤本番用コンテナイメージのビルド
19.
コードテスト、コードビルド、デプロイ デモ環境の説明
20.
GitLab CI/CD パイプライン
21.
①:Initialize
22.
②:Test 1/2
23.
②:Test 2/2 引用:http://www.infiniteloop.co.jp/docs/psr/psr-2-coding-style-guide.html
24.
③:Build
25.
④:Deploy
26.
その他:build_definition (BuildとDeployの共通定義)
27.
コードテスト、コードビルド、デプロイ デモの実演
35.
ご清聴ありがとうございました