Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

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

1.601 visualizaciones

Publicado el

「DevLove関西 継続的インテグレーション(CI)・継続的デリバリー(CD)のお話」 (2018/10/22) にて発表させていただいたセッションのスライドです。(時間:30分)

申し込みサイト : https://devlove-kansai.doorkeeper.jp/events/80458

Publicado en: Tecnología
  • Sé el primero en comentar

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

  1. 1. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 継続的インテグレーション(CI)・継続的デリバリー(CD)のお話 CI/CI/CDCDってって 何が良いの?何が良いの? Ver 1.0 〜言うてるオレもわからんわ〜
  2. 2. この発表は みうらの解釈 です。 「それはまちがってる!」 などありましたら、 お伝え頂きたいですが、 30分後以降にお願いします。
  3. 3. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 自己紹介 って言うてる 「みうら」 てだれですか?
  4. 4. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 事故紹介? • 通称:みうみう • Twitter:@kazuhito_m • Github:kazuhito-m • 職業:自動家、プログラマ、 CI/CDとか考える人 – フリーランス – 最近はサービス作ってる • 好きなもの:自動化,「継続的なんとか」 – CI/CDとか大好物 三浦 一仁(みうら かずひと)
  5. 5. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? CIって?CDって? 1. CIって? CDって?
  6. 6. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? CIって?CDって? 1. CIって? CDって? の前に…
  7. 7. 人はなぜ 「プログラムを作る」 のでしょう?
  8. 8. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 人はなぜ「プログラムを作る」? それは… 何らかの 「問題解決」 のために
  9. 9. そのためには?
  10. 10. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 何らかの「問題解決」のために…は? プロダクトを 速く世に出し たい
  11. 11. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? もうちょい具体的に… プロダクトを いつでも出せる状態 にし、作り、 ”秒で”リリース出来る ようにしたい
  12. 12. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? おおざっぱに言うと… プロダクトを いつでも出せる状態 にし、作り、 ”秒で”リリース出来る ようにしたい CIの領域 CDの領域
  13. 13. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? おおざっぱに言うと… プロダクトを いつでも出せる状態 にし、作り、 ”秒で”リリース出来る ようにしたい CIの領域 CDの領域 というのを、 ぼやっと 頭に置いて 頂いて…
  14. 14. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? では、「CIって?」 プロダクトを いつでも出せる状態 にし、作り、 ”秒で”リリース出来る ようにしたい CIの領域 とはなんなのか?
  15. 15. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 「CIって?」みうらが思うに… 「いつでも出せる状態」 とは 常時「壊れていないか」 「動くか」が検査されており、 「安全」が保たれた状態
  16. 16. 雑なイメージ (脳内)
  17. 17. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 「CIって?」イメージ こういう「構造物」があるとして…
  18. 18. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 「CIって?」イメージ その1パーツ中の一部を「変えた」場合
  19. 19. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 「CIって?」イメージ 「変化」があった途端に、 「全組み立て直し」をして ちゃんと ハマるかなー? ちゃんと ハマるかなー?
  20. 20. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 「CIって?」イメージ コレだけなら「再度組み上げられた」だけで 「壊れていないか」は解らないので 壊れてないか (期待通りか) 確認 検査(テスト) して Test Test Test Test Test Test
  21. 21. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 「CIって?」人はコレを呼んでいる 「変化」都度「継続的」に 「組み立て(統合)」していく ⇓ 継続的な統合 ⇓ 「継続的インテグレーション」 ⇓ Contenius Integration ⇓ 「CI」
  22. 22. さて…
  23. 23. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? おおざっぱに言うと…その2 プロダクトを いつでも出せる状態 にし、作り、 ”秒で”リリース出来る ようにしたい CDの領域 とはなんなのか?
  24. 24. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 「CDって?」みうらが思うに… 「”秒で”リリース出来る」 とは 「リリースしたい!の意思発生」 から「最短」で「安全・確実」に 「新しいモノ」が出せる
  25. 25. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 「CDって?」みうらが思うに… 「”秒で”リリース出来る」 とは 「リリースしたい!の意思発生」 から「最短」で「安全・確実」に 「新しいモノ」が出せる 思いとしては…
  26. 26. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 「CDって?」みうらが思うに… 「リリースしたい!の意思発生」 から「最短」で「安全・確実」に 「新しいモノ」が出せる 意思を鈍らせ ない”簡易性” 自動化 ”速度”が必要 ”コンピュータの 仕事”にする 再現性のある ”手段”の確立 試行回数を稼ぐ AsCode (プログラム化) 変化のたびに、 つど”リリース手順” を試行”
  27. 27. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 「CDって?」みうらが思うに… 「リリースしたい!の意思発生」 から「最短」で「安全・確実」に 「新しいモノ」が出せる 意思を鈍らせ ない”簡易性” 自動化 ”速度”が必要 ”コンピュータの 仕事”にする 再現性のある ”手段”の確立 試行回数を稼ぐ AsCode (プログラム化) 変化のたびに、 つど”リリース手順” を試行” と、言うことを ふまえると…
  28. 28. 「リリース(デプロイ)」を 「コンピュータの仕事」にして、 「変化」の都度「連打する」し、 人がリリースしようと思った 場合も「簡易に」出来る …ようにしておけば、良い?
  29. 29. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 「CDって?」イメージ的には • 「CDって?」が 「コレを指す」事が多いのは… ①「変化」する都度、 「ビルドし特定環境にデプロイ」 ②「1クリックデプロイ」など、 人にとって「簡易」な方法で 「最短で本番リリース」出来る 「(半)自動化」
  30. 30. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 「CDって?」イメージ的には • Webシステムで考えれば… – 「プログラム」も「環境」も日々変わっていくし、 当然「リリース方法」もソレに追随して変化する – 「リリース方法」を「プログラムに転嫁(AsCode)」し 、プログラムor環境に変化が在るたび、 自動で「テスト環境」などにデプロイし「実績」を作る – 本番にリリースする際も、その「リリース方法」と (ほぼ)同じにすることにより、安全・確実・最短で リリースする 開発環境 デプロイサーバ 本番環境 デプロイサーバ デプロイ手順 のプログラム 日々は変化があるたび、 「本番じゃない」環境に デプロイ リリース時は「同じプログラム」を使い 本番環境にデプロイ (差異はパラメータ程度)
  31. 31. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 「CDって?」イメージ的には • Webシステムで考えれば… – 「プログラム」も「環境」も日々変わっていくし、 当然「リリース方法」もソレに追随して変化する – 「リリース方法」を「プログラムに転嫁(AsCode)」し 、プログラムor環境に変化が在るたび、 自動で「テスト環境」などにデプロイし「実績」を作る – 本番にリリースする際も、その「リリース方法」と (ほぼ)同じにすることにより、安全・確実・最短で リリースする 開発環境 デプロイサーバ 本番環境 デプロイサーバ デプロイ手順 のプログラム 日々は変化があるたび、 「本番じゃない」環境に デプロイ リリース時は「同じプログラム」を使い 本番環境にデプロイ (差異はパラメータ程度) 「変化」都度「継続的」に デプロイ(配備)/デリバリしていく ⇓ 「継続的デプロイ/デリバリ」 ⇓ Contenius Deploy/Delively ⇓ 「CD」
  32. 32. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 典型的なCI/CD例 2. 典型的なCI/CD例 (パイプライン)
  33. 33. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 典型的なCI/CD例 • 典型的な「CI/CDの仕組み」の例を示す • 舞台とするシステム = Webシステム – 「ソースコード」から「デプロイ用バイナリ」をビルドする – 「デプロイ用バイナリ」はサーバに配置するとアプリは動く – ソースは「VCS」、デプロイ用バイナリは「インハウスリポ ジトリ」に保存し管理 – デプロイする先は「開発」「ステージング」「本番」と3つ の環境のデプロイサーバが在る VCS(ソースバー ジョン管理サーバ) ソースコード インハウスリポジトリ (バイナリ管理サーバ) デプロイ用バイナリ 開発環境 デプロイサーバ ステージング環境 デプロイサーバ 本番環境 デプロイサーバ 開発者
  34. 34. 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
  35. 35. 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
  36. 36. 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 ま「典型的」であれど 「模範的」「理想的」か解らないし、 「現実的」かも場合に寄りますが… バイナリは無限に貯められることにななってるし、 本番リリースがイージー過ぎるかもしれないし…
  37. 37. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? CI/CDプロダクトと特性 3. CI/CDプロダクト と特性
  38. 38. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? CI/CDプロダクトと特性 • 「CI/CDのためのプロダクト」と銘打つととん でもない量になる – 定義は「CI/CD目的で」「サーバとして機能する」 「GUIでの可視化が出来る(操作出来るか問わず)」 • 一覧はこちら • 代表的なものを散りばめたマップがこんな感じ (次ページ)
  39. 39. 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プロダクト
  40. 40. 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 注-コレでも多少しぼっています。
  41. 41. ちょっと 特性・テーマ別に しぼりながら 見ていきましょう
  42. 42. 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 オンプレ型 サービス型
  43. 43. 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 オンプレ型 サービス型 予想より意外と オンプレ型 が多い気がした 注-プロダクトとサービス 両方ともやってるものも 別々にあつかっている
  44. 44. 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、 環境等)
  45. 45. 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デプロイ特化
  46. 46. 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も ありますよ 型)
  47. 47. 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) 型
  48. 48. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? CI/CDプロダクトと特性-雑感 • 他にも「絞り込むための切り口」はいろいろと – 「クラウドの一部型」「VCSとの親和性」 「パイプライン構築可」「AsCode可」,etc... – 詳しくは先述のこちら • CI/CDプロダクトの多い特性 – オンプレ: 多くがお試し用コンテナイメージを公開 – サービス: OSS利用だと無料 • 多くの選択肢があるが… – 「自身のプロジェクト」の「制約」「特性」「予 算」や、CIの「重要度」「必要スピード」などを材 料に選ぶのがよさそう
  49. 49. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? トレンド 4. トピック・ニュース トレンド (最近の風潮)
  50. 50. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? トレンド-1, インフラCIの普及 インフラCIの 普及
  51. 51. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? トレンド-1, インフラCIの普及 • 「インフラCI」冠した本が出た –「IaC」「ダイナミックインフラ」の説明 –Gitlab-CiとAnsibleを使っ て、Vagrant/Docker対象とした「環境」の UT/IT/ST –ITS/VCSの運用法、brnch,レビュー等の人系や プロセス –仮想機/コンテナ等「オンプレの話」が主 • 「本が出た」なら「一般に広まった」と言える? –数年前は「限られた所は実践している」印象 –「IaC」「クラウド台頭」という「インフラのソ フト化」が追い風になっているのかも
  52. 52. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? トレンド-1, インフラCIの普及 • 参考:#インフラ勉強会で行なった勉強会資料 –以下は資料中で使った一枚絵
  53. 53. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? トレンド-2, コンテナ/k8sファースト コンテナ/k8sファースト
  54. 54. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? トレンド-2, コンテナ/k8sファースト • なんでもかんでもDocker/コンテナな風潮 –「オンプレCIプロダクト」では、必ずお試し 版イメージをdockerhubに用意している –CIサービスのワーカは大体コンテナ –「CIする対象」も「Dockerイメージ」多し • オーケストレーション/実行環境はk8s一強 • その風潮の急先鋒として”Jenkins X” –k8s上で動き、ワーカもk8s上で、ビルドする ものもDockerイメージという特化Jenkins
  55. 55. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? トレンド-3, Github Actions発表 Github Actions 発表
  56. 56. 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コンテナで実行される
  57. 57. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? いいたかったこと 言いたかったこと (まとめ)
  58. 58. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 月並みですが…なんとなく 典型的なCI/CD (パイプライン) CIって? CDって? CI/CDプロダクト種 (具体実装例は 今回未紹介) 定理・公式 パターン 意味・原則 具体的な事象 ・物体・解 導き出す ことが出来る 導き出す ことが出来る (自らで) 考え出せる (自らで) 考え出せる CI/CDプロダクト種 を使って、自分達に 最適なやりかた
  59. 59. DevLOVE関西 「CI/CDの話」CI/CDって何が良いの? 雑なまとめ • CI/CDは「プロダクトを速く世に出す」た めの考え方 • 「CIって?」「CDって?」を理解して、 自身のコンテキスト(環境・チーム・プロダ クト)に最適な「パイプライン」を設計しま しょう • その「道具」は無数にあるので「制約」 「特性」などを軸に選択しましょう • 「具体的な方法」については、このあとの 西村 翔さん、 @posauneさんのセッショ ンで!

×