DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
継続的インテグレーション(CI)・継続的デリバリー(CD)のお話
CI/CI/CDCDってって
何が良いの?何が良いの?
Ver 1.0
〜言うてるオレもわからんわ〜
この発表は
みうらの解釈
です。
「それはまちがってる!」
などありましたら、
お伝え頂きたいですが、
30分後以降にお願いします。
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
自己紹介
って言うてる
「みうら」
てだれですか?
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
事故紹介?
• 通称:みうみう
• Twitter:@kazuhito_m
• Github:kazuhito-m
• 職業:自動家、プログラマ、
CI/CDとか考える人
– フリーランス
– 最近はサービス作ってる
• 好きなもの:自動化,「継続的なんとか」
– CI/CDとか大好物
三浦 一仁(みうら かずひと)
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
CIって?CDって?
1.
CIって?
CDって?
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
CIって?CDって?
1.
CIって?
CDって?
の前に…
人はなぜ
「プログラムを作る」
のでしょう?
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
人はなぜ「プログラムを作る」?
それは…
何らかの
「問題解決」
のために
そのためには?
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
何らかの「問題解決」のために…は?
プロダクトを
速く世に出し
たい
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
もうちょい具体的に…
プロダクトを
いつでも出せる状態
にし、作り、
”秒で”リリース出来る
ようにしたい
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
おおざっぱに言うと…
プロダクトを
いつでも出せる状態
にし、作り、
”秒で”リリース出来る
ようにしたい
CIの領域
CDの領域
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
おおざっぱに言うと…
プロダクトを
いつでも出せる状態
にし、作り、
”秒で”リリース出来る
ようにしたい
CIの領域
CDの領域
というのを、
ぼやっと
頭に置いて
頂いて…
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
では、「CIって?」
プロダクトを
いつでも出せる状態
にし、作り、
”秒で”リリース出来る
ようにしたい
CIの領域
とはなんなのか?
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
「CIって?」みうらが思うに…
「いつでも出せる状態」
とは
常時「壊れていないか」
「動くか」が検査されており、
「安全」が保たれた状態
雑なイメージ
(脳内)
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
「CIって?」イメージ
こういう「構造物」があるとして…
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
「CIって?」イメージ
その1パーツ中の一部を「変えた」場合
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
「CIって?」イメージ
「変化」があった途端に、
「全組み立て直し」をして
ちゃんと
ハマるかなー?
ちゃんと
ハマるかなー?
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
「CIって?」イメージ
コレだけなら「再度組み上げられた」だけで
「壊れていないか」は解らないので
壊れてないか
(期待通りか)
確認
検査(テスト)
して
Test
Test
Test
Test
Test
Test
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
「CIって?」人はコレを呼んでいる
「変化」都度「継続的」に
「組み立て(統合)」していく
⇓
継続的な統合
⇓
「継続的インテグレーション」
⇓
Contenius Integration
⇓
「CI」
さて…
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
おおざっぱに言うと…その2
プロダクトを
いつでも出せる状態
にし、作り、
”秒で”リリース出来る
ようにしたい
CDの領域
とはなんなのか?
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
「CDって?」みうらが思うに…
「”秒で”リリース出来る」
とは
「リリースしたい!の意思発生」
から「最短」で「安全・確実」に
「新しいモノ」が出せる
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
「CDって?」みうらが思うに…
「”秒で”リリース出来る」
とは
「リリースしたい!の意思発生」
から「最短」で「安全・確実」に
「新しいモノ」が出せる
思いとしては…
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
「CDって?」みうらが思うに…
「リリースしたい!の意思発生」
から「最短」で「安全・確実」に
「新しいモノ」が出せる
意思を鈍らせ
ない”簡易性”
自動化
”速度”が必要
”コンピュータの
仕事”にする
再現性のある
”手段”の確立
試行回数を稼ぐ
AsCode
(プログラム化)
変化のたびに、
つど”リリース手順”
を試行”
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
「CDって?」みうらが思うに…
「リリースしたい!の意思発生」
から「最短」で「安全・確実」に
「新しいモノ」が出せる
意思を鈍らせ
ない”簡易性”
自動化
”速度”が必要
”コンピュータの
仕事”にする
再現性のある
”手段”の確立
試行回数を稼ぐ
AsCode
(プログラム化)
変化のたびに、
つど”リリース手順”
を試行”
と、言うことを
ふまえると…
「リリース(デプロイ)」を
「コンピュータの仕事」にして、
「変化」の都度「連打する」し、
人がリリースしようと思った
場合も「簡易に」出来る
…ようにしておけば、良い?
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
「CDって?」イメージ的には
• 「CDって?」が
「コレを指す」事が多いのは…
①「変化」する都度、
「ビルドし特定環境にデプロイ」
②「1クリックデプロイ」など、
人にとって「簡易」な方法で
「最短で本番リリース」出来る
「(半)自動化」
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
「CDって?」イメージ的には
• Webシステムで考えれば…
– 「プログラム」も「環境」も日々変わっていくし、
当然「リリース方法」もソレに追随して変化する
– 「リリース方法」を「プログラムに転嫁(AsCode)」し
、プログラムor環境に変化が在るたび、
自動で「テスト環境」などにデプロイし「実績」を作る
– 本番にリリースする際も、その「リリース方法」と
(ほぼ)同じにすることにより、安全・確実・最短で
リリースする 開発環境
デプロイサーバ
本番環境
デプロイサーバ
デプロイ手順
のプログラム
日々は変化があるたび、
「本番じゃない」環境に
デプロイ
リリース時は「同じプログラム」を使い
本番環境にデプロイ
(差異はパラメータ程度)
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
「CDって?」イメージ的には
• Webシステムで考えれば…
– 「プログラム」も「環境」も日々変わっていくし、
当然「リリース方法」もソレに追随して変化する
– 「リリース方法」を「プログラムに転嫁(AsCode)」し
、プログラムor環境に変化が在るたび、
自動で「テスト環境」などにデプロイし「実績」を作る
– 本番にリリースする際も、その「リリース方法」と
(ほぼ)同じにすることにより、安全・確実・最短で
リリースする 開発環境
デプロイサーバ
本番環境
デプロイサーバ
デプロイ手順
のプログラム
日々は変化があるたび、
「本番じゃない」環境に
デプロイ
リリース時は「同じプログラム」を使い
本番環境にデプロイ
(差異はパラメータ程度)
「変化」都度「継続的」に
デプロイ(配備)/デリバリしていく
⇓
「継続的デプロイ/デリバリ」
⇓
Contenius Deploy/Delively
⇓
「CD」
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
典型的なCI/CD例
2.
典型的なCI/CD例
(パイプライン)
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
典型的なCI/CD例
• 典型的な「CI/CDの仕組み」の例を示す
• 舞台とするシステム = Webシステム
– 「ソースコード」から「デプロイ用バイナリ」をビルドする
– 「デプロイ用バイナリ」はサーバに配置するとアプリは動く
– ソースは「VCS」、デプロイ用バイナリは「インハウスリポ
ジトリ」に保存し管理
– デプロイする先は「開発」「ステージング」「本番」と3つ
の環境のデプロイサーバが在る
VCS(ソースバー
ジョン管理サーバ)
ソースコード
インハウスリポジトリ
(バイナリ管理サーバ)
デプロイ用バイナリ
開発環境
デプロイサーバ ステージング環境
デプロイサーバ
本番環境
デプロイサーバ
開発者
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
単体自動
テスト
静的解析
E2E
(受入)
自動テスト
バイナリ
のビルド
&Ver付与
インハウス
リポジトリ
に登録
開発用
環境に
デプロイ
Ver.1.0.2
典型的なCI/CD例
Webシステムの例
単体自動
テスト
静的解析
E2E
(受入)
自動テスト
開発用
環境に
デプロイ
ステージ
ング環境
にデプロイ
本番
環境に
デプロイ
何らかのルール
による判断
開発者がソースを変更
変更
検知 インハウス
リポジトリ
に登録
権限を持った
人間の判断
バイナリ
のビルド
&Ver付与Ver.1.0.1
単体自動
テスト
単体自動
テスト
静的解析
E2E
(受入)
自動テスト
ステージ
ング環境
にデプロイ
ステージ
ング環境
にデプロイ
本番
環境に
デプロイ
単体自動
テスト
静的解析
E2E
(受入)
自動テスト
バイナリ
のビルド
&Ver付与
インハウス
リポジトリ
に登録
開発用
環境に
デプロイ
Ver.1.0.3
単体自動
テスト
静的解析
E2E
(受入)
自動テスト
バイナリ
のビルド
&Ver付与
インハウス
リポジトリ
に登録
開発用
環境に
デプロイ
Ver.1.0.4
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
単体自動
テスト
静的解析
E2E
(受入)
自動テスト
バイナリ
のビルド
&Ver付与
インハウス
リポジトリ
に登録
開発用
環境に
デプロイ
Ver.1.0.2
典型的なCI/CD例 - CI/CDの領域
Webシステムの例
何らかのルール
による判断
開発者がソースを変更
変更
検知
権限を持った
人間の判断
Ver.1.0.1
単体自動
テスト
単体自動
テスト
静的解析
E2E
(受入)
自動テスト
ステージ
ング環境
にデプロイ
ステージ
ング環境
にデプロイ
本番
環境に
デプロイ
単体自動
テスト
静的解析
E2E
(受入)
自動テスト
バイナリ
のビルド
&Ver付与
インハウス
リポジトリ
に登録
開発用
環境に
デプロイ
Ver.1.0.3
単体自動
テスト
静的解析
E2E
(受入)
自動テスト
バイナリ
のビルド
&Ver付与
インハウス
リポジトリ
に登録
開発用
環境に
デプロイ
Ver.1.0.4
パイプライン
(もしくは”ワークフロー”)
単体自動
テスト
静的解析
E2E
(受入)
自動テスト
開発用
環境に
デプロイ
ステージ
ング環境
にデプロイ
本番
環境に
デプロイ
インハウス
リポジトリ
に登録
バイナリ
のビルド
&Ver付与
CI CD
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
単体自動
テスト
静的解析
E2E
(受入)
自動テスト
開発用
環境に
デプロイ
ステージ
ング環境
にデプロイ
本番
環境に
デプロイ
インハウス
リポジトリ
に登録
バイナリ
のビルド
&Ver付与
単体自動
テスト
静的解析
E2E
(受入)
自動テスト
バイナリ
のビルド
&Ver付与
インハウス
リポジトリ
に登録
開発用
環境に
デプロイ
Ver.1.0.2
典型的なCI/CD例
Webシステムの例
何らかのルール
による判断
開発者がソースを変更
変更
検知
権限を持った
人間の判断
Ver.1.0.1
単体自動
テスト
単体自動
テスト
静的解析
E2E
(受入)
自動テスト
ステージ
ング環境
にデプロイ
ステージ
ング環境
にデプロイ
本番
環境に
デプロイ
単体自動
テスト
静的解析
E2E
(受入)
自動テスト
バイナリ
のビルド
&Ver付与
インハウス
リポジトリ
に登録
開発用
環境に
デプロイ
Ver.1.0.3
単体自動
テスト
静的解析
E2E
(受入)
自動テスト
バイナリ
のビルド
&Ver付与
インハウス
リポジトリ
に登録
開発用
環境に
デプロイ
Ver.1.0.4
ま「典型的」であれど
「模範的」「理想的」か解らないし、
「現実的」かも場合に寄りますが…
バイナリは無限に貯められることにななってるし、
本番リリースがイージー過ぎるかもしれないし…
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
CI/CDプロダクトと特性
3.
CI/CDプロダクト
と特性
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
CI/CDプロダクトと特性
• 「CI/CDのためのプロダクト」と銘打つととん
でもない量になる
– 定義は「CI/CD目的で」「サーバとして機能する」
「GUIでの可視化が出来る(操作出来るか問わず)」
• 一覧はこちら
• 代表的なものを散りばめたマップがこんな感じ
(次ページ)
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
CI/CDプロダクトと特性
Jenkins
CloudBees Jenkins
JenkinsX
Azure DevOps
Servers(旧VSTS)
Azure DevOps
オンプレミス(旧TFS)
Visual Studio
App Center
TeamCity
drone(プロダクト)
Concource
Strider CD
Buildbot
Go Continuous
Delivery(GoCD)
CircleCI
TraviceCI
Warcker
AppVeyor
Scrutinizer
drone.io(サービス)
CodeShip
Shippeble
Solano CI
Screwdriver.cd
Semaphore
DEPLOYBOT
Buildkite
Github
Gitlab(プロダクト)
Gitlab(サービス)
BitBucket
Heroku
Bumboo
Bitrise
buddybuild
nevercode
AWS CodeStar
AWS CodePipeline
AWS CodeDeploy
Google Cloud Build
codefresh
Spinnaker
CI/CDプロダクト
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
CI/CDプロダクトと特性
Jenkins
CloudBees Jenkins
JenkinsX
Azure DevOps
Servers(旧VSTS)
Azure DevOps
オンプレミス(旧TFS)
Visual Studio
App Center
TeamCity
drone(プロダクト)
Concource
Strider CD
Buildbot
Go Continuous
Delivery(GoCD)
CircleCI
TraviceCI
Warcker
AppVeyor
Scrutinizer
drone.io(サービス)
CodeShip
Shippeble
Solano CI
Screwdriver.cd
Semaphore
DEPLOYBOT
Buildkite
Github
Gitlab(プロダクト)
Gitlab(サービス)
BitBucket
Heroku
Bumboo
Bitrise
buddybuild
nevercode
AWS CodeStar
AWS CodePipeline
AWS CodeDeploy
Google Cloud Build
codefresh
Spinnaker
CI/CDプロダクト
なんじゃ
こりゃw
注-コレでも多少しぼっています。
ちょっと
特性・テーマ別に
しぼりながら
見ていきましょう
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
CI/CDプロダクトと特性
Jenkins
CloudBees Jenkins
JenkinsX
Azure DevOps
Servers(旧VSTS)
Azure DevOps
オンプレミス(旧TFS)
Visual Studio
App Center
TeamCity
drone(プロダクト)
Concource
Strider CD
Buildbot
Go Continuous
Delivery(GoCD)
CircleCI
TraviceCI
Warcker
AppVeyor
Scrutinizer
drone.io(サービス)
CodeShip
Shippeble
Solano CI
Screwdriver.cd
Semaphore
DEPLOYBOT
Buildkite
Github
Gitlab(プロダクト)
Gitlab(サービス)
BitBucket
Heroku
Bumboo
Bitrise
buddybuild
nevercode
AWS CodeStar
AWS CodePipeline
AWS CodeDeploy
Google Cloud Build
codefresh
Spinnaker
オンプレ型
サービス型
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
CI/CDプロダクトと特性
Jenkins
CloudBees Jenkins
JenkinsX
Azure DevOps
Servers(旧VSTS)
Azure DevOps
オンプレミス(旧TFS)
Visual Studio
App Center
TeamCity
drone(プロダクト)
Concource
Strider CD
Buildbot
Go Continuous
Delivery(GoCD)
CircleCI
TraviceCI
Warcker
AppVeyor
Scrutinizer
drone.io(サービス)
CodeShip
Shippeble
Solano CI
Screwdriver.cd
Semaphore
DEPLOYBOT
Buildkite
Github
Gitlab(プロダクト)
Gitlab(サービス)
BitBucket
Heroku
Bumboo
Bitrise
buddybuild
nevercode
AWS CodeStar
AWS CodePipeline
AWS CodeDeploy
Google Cloud Build
codefresh
Spinnaker
オンプレ型
サービス型
予想より意外と
オンプレ型
が多い気がした
注-プロダクトとサービス
両方ともやってるものも
別々にあつかっている
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
CI/CDプロダクトと特性
Jenkins
CloudBees Jenkins
JenkinsX
Azure DevOps
Servers(旧VSTS)
Azure DevOps
オンプレミス(旧TFS)
Visual Studio
App Center
TeamCity
drone(プロダクト)
Concource
Strider CD
Buildbot
Go Continuous
Delivery(GoCD)
CircleCI
TraviceCI
Warcker
AppVeyor
Scrutinizer
drone.io(サービス)
CodeShip
Shippeble
Solano CI
Screwdriver.cd
Semaphore
DEPLOYBOT
Buildkite
Github
Gitlab(プロダクト)
Gitlab(サービス)
BitBucket
Heroku
Bumboo
Bitrise
buddybuild
nevercode
AWS CodeStar
AWS CodePipeline
AWS CodeDeploy
Google Cloud Build
codefresh
Spinnaker
目的特化型
(言語、OS、
環境等)
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
CI/CDプロダクトと特性
Jenkins
CloudBees Jenkins
JenkinsX
Azure DevOps
Servers(旧VSTS)
Azure DevOps
オンプレミス(旧TFS)
Visual Studio
App Center
TeamCity
drone(プロダクト)
Concource
Strider CD
Buildbot
Go Continuous
Delivery(GoCD)
CircleCI
TraviceCI
Warcker
AppVeyor
Scrutinizer
drone.io(サービス)
CodeShip
Shippeble
Solano CI
Screwdriver.cd
Semaphore
DEPLOYBOT
Buildkite
Github
Gitlab(プロダクト)
Gitlab(サービス)
BitBucket
Heroku
Bumboo
Bitrise
buddybuild
nevercode
AWS CodeStar
AWS CodePipeline
AWS CodeDeploy
Google Cloud Build
codefresh
Spinnaker
目的特化型
(言語、OS、
環境等)
iOS特化、
Windows特化、
PHP特化、
CD特化、
k8sデプロイ特化
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
CI/CDプロダクトと特性
Jenkins
CloudBees Jenkins
JenkinsX
Azure DevOps
Servers(旧VSTS)
Azure DevOps
オンプレミス(旧TFS)
Visual Studio
App Center
TeamCity
drone(プロダクト)
Concource
Strider CD
Buildbot
Go Continuous
Delivery(GoCD)
CircleCI
TraviceCI
Warcker
AppVeyor
Scrutinizer
drone.io(サービス)
CodeShip
Shippeble
Solano CI
Screwdriver.cd
Semaphore
DEPLOYBOT
Buildkite
Github
Gitlab(プロダクト)
Gitlab(サービス)
BitBucket
Heroku
Bumboo
Bitrise
buddybuild
nevercode
AWS CodeStar
AWS CodePipeline
AWS CodeDeploy
Google Cloud Build
codefresh
Spinnaker
統合型
(サービスの一部
機能としてCIも
ありますよ
型)
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
CI/CDプロダクトと特性
Jenkins
CloudBees Jenkins
JenkinsX
Azure DevOps
Servers(旧VSTS)
Azure DevOps
オンプレミス(旧TFS)
Visual Studio
App Center
TeamCity
drone(プロダクト)
Concource
Strider CD
Buildbot
Go Continuous
Delivery(GoCD)
CircleCI
TraviceCI
Warcker
AppVeyor
Scrutinizer
drone.io(サービス)
CodeShip
Shippeble
Solano CI
Screwdriver.cd
Semaphore
DEPLOYBOT
Buildkite
Github
Gitlab(プロダクト)
Gitlab(サービス)
BitBucket
Heroku
Bumboo
Bitrise
buddybuild
nevercode
AWS CodeStar
AWS CodePipeline
AWS CodeDeploy
Google Cloud Build
codefresh
Spinnaker
コンテナ
利用可
(あるいはOnly)
型
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
CI/CDプロダクトと特性-雑感
• 他にも「絞り込むための切り口」はいろいろと
– 「クラウドの一部型」「VCSとの親和性」
「パイプライン構築可」「AsCode可」,etc...
– 詳しくは先述のこちら
• CI/CDプロダクトの多い特性
– オンプレ: 多くがお試し用コンテナイメージを公開
– サービス: OSS利用だと無料
• 多くの選択肢があるが…
– 「自身のプロジェクト」の「制約」「特性」「予
算」や、CIの「重要度」「必要スピード」などを材
料に選ぶのがよさそう
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
トレンド
4.
トピック・ニュース
トレンド
(最近の風潮)
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
トレンド-1, インフラCIの普及
インフラCIの
普及
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
トレンド-1, インフラCIの普及
• 「インフラCI」冠した本が出た
–「IaC」「ダイナミックインフラ」の説明
–Gitlab-CiとAnsibleを使っ
て、Vagrant/Docker対象とした「環境」の
UT/IT/ST
–ITS/VCSの運用法、brnch,レビュー等の人系や
プロセス
–仮想機/コンテナ等「オンプレの話」が主
• 「本が出た」なら「一般に広まった」と言える?
–数年前は「限られた所は実践している」印象
–「IaC」「クラウド台頭」という「インフラのソ
フト化」が追い風になっているのかも
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
トレンド-1, インフラCIの普及
• 参考:#インフラ勉強会で行なった勉強会資料
–以下は資料中で使った一枚絵
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
トレンド-2, コンテナ/k8sファースト
コンテナ/k8sファースト
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
トレンド-2, コンテナ/k8sファースト
• なんでもかんでもDocker/コンテナな風潮
–「オンプレCIプロダクト」では、必ずお試し
版イメージをdockerhubに用意している
–CIサービスのワーカは大体コンテナ
–「CIする対象」も「Dockerイメージ」多し
• オーケストレーション/実行環境はk8s一強
• その風潮の急先鋒として”Jenkins X”
–k8s上で動き、ワーカもk8s上で、ビルドする
ものもDockerイメージという特化Jenkins
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
トレンド-3, Github Actions発表
Github Actions
発表
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
トレンド-3, Github Actions発表
• ついに本命VCSの「本体」にCI機能が!
– 現在、Beta版利用者を募集中
• 公開されてる情報からわかること
– Commit/Pushで動く”Action”を登録出来る
– Actionをつなげた”ワークフロー”を定義出来る
– 定義はAsCodeされ、GUI/Codeラウンドトリップ
可能
– CodeはHCL(HashiCorp Configration
Language)記述
– Action一つはDockerコンテナで実行される
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
いいたかったこと
言いたかったこと
(まとめ)
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
月並みですが…なんとなく
典型的なCI/CD
(パイプライン)
CIって? CDって?
CI/CDプロダクト種
(具体実装例は
今回未紹介)
定理・公式
パターン
意味・原則
具体的な事象
・物体・解
導き出す ことが出来る
導き出す ことが出来る
(自らで) 考え出せる
(自らで) 考え出せる
CI/CDプロダクト種
を使って、自分達に
最適なやりかた
DevLOVE関西 「CI/CDの話」CI/CDって何が良いの?
雑なまとめ
• CI/CDは「プロダクトを速く世に出す」た
めの考え方
• 「CIって?」「CDって?」を理解して、
自身のコンテキスト(環境・チーム・プロダ
クト)に最適な「パイプライン」を設計しま
しょう
• その「道具」は無数にあるので「制約」
「特性」などを軸に選択しましょう
• 「具体的な方法」については、このあとの
西村 翔さん、 @posauneさんのセッショ
ンで!

CI/CDって何が良いの?〜言うてるオレもわからんわ〜 #DevKan