Suche senden
Hochladen
JenkinsとCodeBuildとCloud Buildと私
•
6 gefällt mir
•
5,483 views
Shoji Shirotori
Folgen
Jenkinsユーザーカンファレンス東京2018のLTで話した内容です
Weniger lesen
Mehr lesen
Ingenieurwesen
Melden
Teilen
Melden
Teilen
1 von 30
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
NTT DATA Technology & Innovation
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
Amazon Web Services Japan
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTT DATA Technology & Innovation
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
Takuya Takaseki
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
クラウドでも非機能要求グレードは必要だよね
クラウドでも非機能要求グレードは必要だよね
YoshioSawada
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
Hiromasa Oka
Empfohlen
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
NTT DATA Technology & Innovation
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
Amazon Web Services Japan
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTT DATA Technology & Innovation
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
Takuya Takaseki
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
クラウドでも非機能要求グレードは必要だよね
クラウドでも非機能要求グレードは必要だよね
YoshioSawada
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
Hiromasa Oka
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
Amazon Web Services Japan
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
20190130 AWS Well-Architectedの活用方法とレビューの進め方をお伝えしていきたい
20190130 AWS Well-Architectedの活用方法とレビューの進め方をお伝えしていきたい
Amazon Web Services Japan
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
Toru Makabe
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
Ohyama Masanori
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
JustSystems Corporation
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
Amazon Web Services Japan
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
貴志 上坂
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
AWSで作る分析基盤
AWSで作る分析基盤
Yu Otsubo
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
インフラCICDの勘所
インフラCICDの勘所
Toru Makabe
Docker Enterprise Editionで実践するCaaS
Docker Enterprise Editionで実践するCaaS
DevOps Hub
ECSとGitLabでCI環境構築
ECSとGitLabでCI環境構築
iwata jaws-ug
Weitere ähnliche Inhalte
Was ist angesagt?
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
Amazon Web Services Japan
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
20190130 AWS Well-Architectedの活用方法とレビューの進め方をお伝えしていきたい
20190130 AWS Well-Architectedの活用方法とレビューの進め方をお伝えしていきたい
Amazon Web Services Japan
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
Toru Makabe
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
Ohyama Masanori
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
JustSystems Corporation
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
Amazon Web Services Japan
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
貴志 上坂
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
AWSで作る分析基盤
AWSで作る分析基盤
Yu Otsubo
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
インフラCICDの勘所
インフラCICDの勘所
Toru Makabe
Was ist angesagt?
(20)
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
20190130 AWS Well-Architectedの活用方法とレビューの進め方をお伝えしていきたい
20190130 AWS Well-Architectedの活用方法とレビューの進め方をお伝えしていきたい
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
AWSで作る分析基盤
AWSで作る分析基盤
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
インフラCICDの勘所
インフラCICDの勘所
Ähnlich wie JenkinsとCodeBuildとCloud Buildと私
Docker Enterprise Editionで実践するCaaS
Docker Enterprise Editionで実践するCaaS
DevOps Hub
ECSとGitLabでCI環境構築
ECSとGitLabでCI環境構築
iwata jaws-ug
2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情
Toshiyuki Hirata
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
Akira Inoue
OSS on Azure で構築するウェブアプリケーション
OSS on Azure で構築するウェブアプリケーション
Daisuke Masubuchi
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Saki Homma
Infrastructure as Code
Infrastructure as Code
裕貴 荒井
ルビコンペレストロイカ〜RubyOnRailsにおけるCI改革〜
ルビコンペレストロイカ〜RubyOnRailsにおけるCI改革〜
TrinityT _
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報
Naoki (Neo) SATO
Microsoft Azure Update 20151112
Microsoft Azure Update 20151112
Ayako Omori
Dockerだけではないコンテナのはなし
Dockerだけではないコンテナのはなし
Katsunori Kanda
【日本語版】Styler: Our Journey to GCP
【日本語版】Styler: Our Journey to GCP
MichaelFindlater
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Kazumi IWANAGA
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
真吾 吉田
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
de:code 2017
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
Daiki Kawanuma
JAWSUG & JAZUG Sendai Azure Update 20140517
JAWSUG & JAZUG Sendai Azure Update 20140517
Ayako Omori
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
Saki Homma
Microsoft AI Platform
Microsoft AI Platform
Daiyu Hatakeyama
Gitlab ci & ecsへのデプロイ
Gitlab ci & ecsへのデプロイ
iwata jaws-ug
Ähnlich wie JenkinsとCodeBuildとCloud Buildと私
(20)
Docker Enterprise Editionで実践するCaaS
Docker Enterprise Editionで実践するCaaS
ECSとGitLabでCI環境構築
ECSとGitLabでCI環境構築
2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
OSS on Azure で構築するウェブアプリケーション
OSS on Azure で構築するウェブアプリケーション
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Infrastructure as Code
Infrastructure as Code
ルビコンペレストロイカ〜RubyOnRailsにおけるCI改革〜
ルビコンペレストロイカ〜RubyOnRailsにおけるCI改革〜
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報
Microsoft Azure Update 20151112
Microsoft Azure Update 20151112
Dockerだけではないコンテナのはなし
Dockerだけではないコンテナのはなし
【日本語版】Styler: Our Journey to GCP
【日本語版】Styler: Our Journey to GCP
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
JAWSUG & JAZUG Sendai Azure Update 20140517
JAWSUG & JAZUG Sendai Azure Update 20140517
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
Microsoft AI Platform
Microsoft AI Platform
Gitlab ci & ecsへのデプロイ
Gitlab ci & ecsへのデプロイ
JenkinsとCodeBuildとCloud Buildと私
1.
JenkinsとCodeBuildとCloud Buildと私 Shoji Shirotori
/ @irotoris Recruit Lifestyle Co., Ltd.
2.
自己紹介 白鳥 昇治(シロトリ ショウジ)
/ @irotoris データエンジニア@リクルートライフスタイル 社内データ分析基盤/データパイプラインの開発を担当(分析もします) Docker ❤ Kubernetes ❤ CD/CI ❤ Serverless ❤ BigData
3.
いまやっているCI/CD AWS / GCP
/ オンプレで構成されたデータ分析基盤のデプロイ・構成管理 データ加工・集計アプリケーションとそのコンテナのビルド・テスト・デプロイ
4.
CI/CD(AsIs) Database Server Batch Server Github Enterprise Container Registry Container RegistryBatch Server On-Premise CI Notification
from Jenkins God (Infra Team) ×Services×ENV etc. etc.
5.
Jenkins運用でやりたくないこと Jenkins Agentのインスタンス・ランタイム・パッケージ管理 CI用の権限強めのアクセスキーの発行・管理 Jenkinsプラグイン管理
6.
Jenkins運用でやりたくないこと Jenkins Agent(ビルドサーバ)のインスタンス・ランタイム・パッケージ管理 僕「opensslのバージョン古くてこのパッケージ動かないんですけど…。」 神「でもバージョン上げるとこっちのパッケージが動かなくなるので…。」 僕「えぇ…」
7.
Jenkins運用でやりたくないこと Jenkins Agent(ビルドサーバ)のインスタンス・ランタイム・パッケージ管理 僕「ジョブの並列度上がってきたからAgent追加しよ」 バージョン固定してないパッケージ「昨日メジャーバージョンアップしたで!!」 Agentたち「「「「はい環境差分」」」」 僕「動かん…なんでや…」
8.
Jenkins運用でやりたくないこと Jenkins Agent(ビルドサーバ)のインスタンス・ランタイム・パッケージ管理 僕「ジョブの並列度上がってきたからAgent追加しよ」 サーバーレス好きな僕「システムはサーバーレスなのにCIでサーバー増やすんか www」 僕「自己矛盾つらい」
9.
Jenkins運用でやりたくないこと CI用の権限強めのアクセスキーの発行・管理 僕「Terraformでクラウドリソースのcreate/delete/modifyするから、CIの権限めちゃ 強いなぁ」 僕「$ git push」 僕「あっ」 →怖いのでJeninsのインスタンスにIAM
Roleつけてそのインスタンス上でCI実行 →環境ごとにMaster/Agentが誕生する→管理がさらに面倒になる
10.
Jenkins運用でやりたくないこと Jenkinsプラグイン管理 僕「Blue Ocean入れよう」 Job「NullPointerException」 僕「!?」 リトライポチー Job「SUCCESS」 僕「!?!?」
11.
12.
カンファレンス>Goole Cloud Build!! ブログ>AWS
CodeBuild便利!!
13.
カンファレンス>Goole Cloud Build!! ブログ>AWS
CodeBuild便利!!
14.
AWS CodeBuild ??? マネージドなコンテナベースのビルド実行環境 -
指定したランタイムのコンテナや自作コンテナを実行 - ビルド成果物はECRやS3へ保存 分単位の従量課金、無料枠あり yamlでコマンドや処理順序を記述していく 選べるインスタンスタイプ、並列実行もOK AWS Codeシリーズと組み合わせてCI/CDパイプラインを作る、そのパーツ Jenkinsプラグイン(https://github.com/awslabs/aws-codebuild-jenkins-plugin)
15.
Google Cloud Build
??? マネージドなコンテナベースのビルド実行環境 - 指定したランタイムのコンテナや自作コンテナを実行 - ビルド成果物はGCRやGCSへ保存 分単位の従量課金、無料枠あり yamlでコマンドや処理順序を記述していく 選べるインスタンスタイプ、並列実行もOK CI/CDパイプラインとしても使える Jenkinsプラグイン(https://github.com/jenkinsci/google-cloudbuild-plugin)
16.
JenkinsとCodeBuildとCloud Buildと私 どこまでCodeBuild /
Cloud Buildにまかせるか?? 1. CI / CDパイプライン全部。もうJenkinsいらないやつ。 2. ビルド実行環境のみ。Jenkinsからビルドサービスをキックする。 Cloud Build Build / UT Deploy - Dev Integration Test UI Test Deploy - Prd Build / UT Deploy - Dev Integration Test UI Test Deploy - Prd Cloud Build Cloud Build Cloud Build Cloud Build Cloud Functions
17.
JenkinsとCodeBuildとCloud Buildと私 どこまでCodeBuild /
Cloud Buildにまかせるか?? 1. CI / CDパイプライン全部(もうJenkinsいらないやつ) 2. ビルド実行環境のみ。Jenkinsからビルドサービスをキックする。 →現状、オンプレ+マルチクラウド →インフラのビルドやデプロイは同じ場所で統合されたパイプラインにしたい →でもコンテナだけのデプロイは統合しなくても OK →デプロイ単位に応じてどっちも試す ● コンテナのビルド・デプロイとかの単発ジョブで済むやつ →1 ● ビルド・テスト・Devデプロイ・Prdデプロイ、とパイプラインが長いやつ →2
18.
CI/CD(ToBe) Database Server Batch Server Github Enterprise Container Registry Container RegistryBatch Server On-Premise CI Notification
from Jenkins God (Infra Team) etc. etc.
19.
JenkinsとCodeBuildとCloud Buildと私 Jenkins Agent(ビルドサーバ)のインスタンス・ランタイム・パッケージ管理 ランタイムのコンテナ化で解決 CodeBuild/Cloud
Buildともにメインどころのビルドランタイムは公式で用意(なければ 自作する) →AWSのほうが種類多くて汎用的(+=Python, Ruby, etc.) →GoogleはGCPに特化(+=gcloud, gsutil, kubectl) CodeBuild/Cloud Build上で実行できればインスタンス管理・Agentのスケールはなに も考えなくていい。
20.
JenkinsとCodeBuildとCloud Buildと私 CI用の権限強めのアクセスキーの発行・管理 CodeBuild/Cloud Build側でIAM
Roleベースで実行する →アクセスキーはいらない
21.
JenkinsとCodeBuildとCloud Buildと私 Jenkinsプラグイン管理
22.
JenkinsとCodeBuildとCloud Buildと私 Jenkinsプラグイン管理 方針:必要最低限の信頼できるプラグインのみ(それってどんなプラグイン?) おじさんA「Jenkins、君はGit pullしてBuildサービスのAPIを叩いて結果を教えてくれれ ばええんやで。プリセットのプラグインのみでいくで。」 おじさんB「CodeBuildもCloud
Buildもプラグインから実行するよ。バグってたら自分で 直すよ。便利なプラグインは使っていこう。」 チームメンバのスキルとJenkinsおじさんの思考で決めると良さげ
23.
CI/CD(ToBe) Database Server Batch Server Github Enterprise Container Registry Container RegistryBatch Server On-Premise CI Notification
from Jenkins etc. etc. God (Infra Team)
24.
CI/CD(Now) Database Server Batch Server Github Enterprise Container Registry Container RegistryBatch Server On-Premise CI Notification
from Jenkins etc. etc. 一部導入 一部導入まだ God (Infra Team)
25.
CodeBuild / Cloud
Buildのいいところ yamlでビルドステップが書ける、シンプルな構成 ビルド高速化Tipsがある ● ステップの並列実行が簡単に設定可能 ● Container Registory、S3 or GCSをキャッシュ置き場として使える ビルドマシンのリソースマネジメントがいらない API経由での実行ができる、CIサーバーから切り離されたリソースとして使える
26.
CodeBuild / Cloud
Buildのかゆいところ① Cloud BuildはGithub EnterpriseからWebhookで連携できない ● JenkinsがHubとして大活躍 ○ APIでCloud Buildを実行 ○ JenkinsがGoogle Cloud Source Repository(GCSR)へGit Push、GCSRからCloud Buildをキック CodeBuild / Cloud Buildではビルド/テスト結果の統計レポート機能が乏しい ● Jenkinsがビルド/テスト成果物を表示 ● 結果確認はSlackで頑張る
27.
CodeBuild / Cloud
Buildのかゆいところ② CodeBuild / Cloud BuildはSlack Integration機能がない ● LambdaやCloud Functionで通知機能作ればOK ● CloudWatch Event、Cloud Pub/Subでビルドステータスが取得可能 CodeBuild / Cloud Buildでは複雑なパイプラインは表現しきれない ● 条件による分岐など。結局 Shellで書くことに。 ● そもそも「Build」サービスだし。 パイプラインの可視性に乏しい ● やっぱりJenkinsのBlue Oceanがナンバーワン!
28.
まとめ AWS CodeBuild /
Google Cloud BuildにJenkinsのビルド実行環境を委譲して得られ るもの ● Jenkins Agentのインスタンス・ランタイム・パッケージ管理からの解放 ● CI用の権限強めのアクセスキーの発行・管理がなくなる ● Jenkinsプラグイン管理の最小化 ● (実行環境がスケールするCron)
29.
まとめ AWS CodeBuild /
Google Cloud BuildにJenkinsのビルド実行環境を委譲して得られ るもの ● Jenkins Agentのインスタンス・ランタイム・パッケージ管理からの解放 ● CI用の権限強めのアクセスキーの発行・管理がなくなる ● Jenkinsプラグイン管理の最小化 ● (実行環境がスケールするCron) あともう少し…残りの問題は高可用性なJenkins Masterだ!! To Be Continued...
Jetzt herunterladen