CircleCIのご紹介 / Introduction of CircleCI

CircleCIのご紹介 / Introduction of CircleCI

ソフトウェア開発におけるCI/CDの重要性とCircleCIの特徴

B32c18d03687577950da29542d0a9180?s=128

Noboru Kurumai

November 30, 2018
Tweet

Transcript

  1. 2.

    2 車井 登 / Noboru Kurumai Solutions Engineer & Customer

    Success Engineer @ CircleCI noboru@circleci.com 自己紹介
  2. 9.

    継続的デリバリを実現するための要素 課題管理 依存関係管理 アプリケーション フレームワーク コード品質 コードレビュー データストア コミュニケーション ビルド自動化ツール

    テスト自動化 コンテナレジストリ デバイス&ブラウザテスト 成果物管理 モニタリング ロギング コンテナ オーケストレーション サービス マネジメント 本番環境 スケジューリング &デリバリ セキュリティ
  3. 13.

    13 CI/CDのさまざまな価値 - アジャイルによる開発速度の向上 - マニュアル作業からの開放 - 開発者は小さな変更を(自信を持って)逐次Pushできる - テスト環境の統一による品質向上

    - “自分の環境だとテストはパスしました”を失くす - データストアの準備など開発環境での完全なテストが難しくなっている
  4. 14.

    継続的デリバリを実現するための要素 課題管理 依存関係管理 アプリケーション フレームワーク コード品質 コードレビュー データストア コミュニケーション ビルド自動化ツール

    テスト自動化 コンテナレジストリ デバイス&ブラウザテスト 成果物管理 モニタリング ロギング コンテナ オーケストレーション サービス マネジメント 本番環境 スケジューリング &デリバリ セキュリティ
  5. 20.

    20 ワークフロー • ステップ: 実行可能なコマンド • ジョブ: 複数のステップから構成され、実行環境で実行される単位 • ワークフロー:

    それぞれのジョブ(ビルド、テストなど)がどのように動くかを定義したもの • ビルド: ジョブやワークフローの総称 • ファンアウト・ファンイン : 複数のジョブへの分岐・複数のジョブからの収束
  6. 23.

    23 多言語サポート • Android • Clojure • Elixir • Go

    (Golang) • JRuby • Node.js • OpenJDK (Java) • PHP • Python • Ruby • Rust CircleCIでは、下記の言語をサポートした公式Dockerイメージをご提供 https://circleci.com/docs/2.0/circleci-images/
  7. 26.

    26 パラレルジョブ・マルチコンテナ - パラレルジョブ(1つのジョブを複数のコンテナで並列に実行) - 名前による分割 - ファイルサイズによる分割 - タイミングによる分割

    - マルチコンテナ(複数のジョブを複数のコンテナで並列に実行) https://circleci.com/docs/2.0/parallelism-faster-jobs/ https://circleci.com/docs/2.0/workflows/
  8. 27.

    27 デプロイ https://circleci.com/docs/2.0/deployment-integrations/ • AWS • Azure • Capistrano •

    Cloud Foundry • Firebase • Google Cloud • Heroku • NPM • SSH 下記のクラウド・プラットフォームへのデプロイをサポート
  9. 31.

    31

  10. 33.

    33