LoginSignup
0
0

More than 1 year has passed since last update.

【IBM Cloud】CI/CDをいじってみた ①CIツールチェーンのセットアップ

Last updated at Posted at 2023-03-02

はじめに

今回はIBM CloudのDevSecOpsを触りながらソフトウェア開発サイクルを理解し、自ら簡単なアプリケーションをデプロイしてみることを最終目標として検証していきます。
今回はその初めての段階としてCIツールチェーンの作成について記述します。

前提条件

今回の作業のためには以下の前提条件をクリアする必要があります。
流れの中で説明されていますが、各インスタンスは同様のリージョン、リソース・グループに設定する必要があります。
今回私は、全てリージョンは「東京」、リソース・グループは「Default」に設定しています。

DevSecOpsについて

概念

普段DevOpsという言葉によく触れているかと思います。
DevOps(開発・運用)は一言で言うと、開発者と運用者が常に連携しながら協業していくフレームワークの考え方を示します。アプリの開発の品質と速度を改善し、新規および修正されたソフトウェア機能やリリース時間を短縮を目標としています。

ここでDevSecOpsとは、DevOpsの考え方にSec(Security)が加えられたもので、ソフトウェア開発ライフサイクルのすべてのフェーズにセキュリティーを自動的に組み込み、アジャイルとDevOpsのスピードでのセキュアなソフトウェアの開発を実現するものとなります。
devsecops.jpeg

CI(Continuous Integration)とは

CIはとは継続的インテグレーションの略で、各開発者が少なくとも1日に1回、新規コードをメインブランチのコードと統合する、ソフトウェア開発とDevOpsのプラクティスです。
継続的インテグレーションは、DevOpsフレームワークにおいてソフトウェア開発プロセスの初期段階に位置しています。

CIツールチェーンの作成の流れ

上記記載の前提条件が全て完了しましたら、CIツールチェーンを作成します。
IBM Cloudコンソール画面ナビゲーション・メニューをクリックし、DevOpsツールチェーンにアクセスします。
スクリーンショット 2023-02-27 15.36.22.png

ツールチェーン画面でツールチェーンの作成をクリックします。
スクリーンショット 2023-02-27 15.36.45.png

IBM Cloudで提供している様々なツールチェーンが表示されますが、今回はCIツールチェーンの作成をします。CI-セキュア・アプリの開発(DevSecOpsプラクティス)をクリックします。
スクリーンショット 2023-02-27 15.36.57.png

以下の画面がツールチェーン作成画面となります。上端に社内開発に利用する際の「One -Pipelineバージョン」設定ボタンがありますが、今回は設定なしで進めます。
下の始動するボタンをクリックします。
FireShot Capture 070 - ツールチェーンの作成 - IBM Cloud - cloud.ibm.com.png

ツールチェーン設定画面でツールチェーン名やリージョン、リソース・グループを設定します。
注意点として、ツールチェーンのリージョンは、クラスターと各種レジストリのリージョンと同じリージョンやリソース・グループを設定する必要があります。
設定が完了したらツールチェーンの作成をクリックします。

*ツールチェーンの作成は各ページの下端に表示されるツールチェーンの作成ボタンにて、デフォルト値で自動作成されます。もしボタンクリックでも進めない箇所があれば、そのページでの設定を行い、もう一度試してください。
よくあるパターンは、前提条件を満たしていない場合や、上記のリージョンが設定が合わないため、システム的に自動で入力されないケースです。
スクリーンショット 2023-02-27 15.41.29.png

次は前提条件で作成したSecrets Managerの設定です。
リージョンやリソース・グループを設定し、ツールチェーンの作成をクリックします。
スクリーンショット 2023-02-27 15.41.48.png

次はデプロイメント・ターゲットを設定します。
前提条件として作成したIBM Cloud APIキーを入力します。
もし作成が漏れている場合などは、新規ボタンにて作成することができます。
IBM Cloud APIキーは鍵マークをクリックすると、自動に設定されます。
スクリーンショット 2023-02-27 15.42.15.png
スクリーンショット 2023-02-27 15.42.27.png

もしうまくいかない場合には、IBM Cloudコンソール画面で管理アクセス(IAM)APIキーに進み、詳細に記載されているIDをコピーして入力ください。
スクリーンショット 2023-02-27 16.15.40.png
スクリーンショット 2023-02-27 16.16.35.png
スクリーンショット 2023-02-27 16.16.23.png

IBM Cloud APIキーの設定が終わったら、下にスクロールし、同様にIBM Kubernetes Serviceのクラスターを設定します。
Container Registryのリージョンや名前空間、開発クラスター・リージョン、リソース・グループなどを設定します。
設定が完了したら、下端のツールチェーンの作成をクリックします。
スクリーンショット 2023-02-27 15.43.14.png

次はアプリケーションの Docker イメージに署名するためイメージ署名鍵(GPGキー)を設定します。
今回私は持っていなかったため新規に作成していますが、もしお持ちの方は鍵マークにて自動設定してください。
イメージ署名鍵の設定が終わったら、ツールチェーンの作成をクリックします。
スクリーンショット 2023-02-27 15.43.24.png
スクリーンショット 2023-02-27 15.43.35.png

次はオプションで設定できるSlack機能の選択有無です。
Slackと連携することによって、チーム同士での共同作業などにおける通知設定が可能となります。
Slackの通知設定はSlack API WebサイトにてWebhookの設定を行うことで可能となります。今回はSlack設定は行っていませんが、もしWebhook設定が必要な方は、私が以前作成した【IBM Cloud】Event Notificationsを使ってSlackと連携し、通知を飛ばしてみたにWebhook設定の流れが記載されているので、参考にしてください。
設定が完了したら、ツールチェーンの作成をクリックします。
スクリーンショット 2023-02-27 15.44.43.png
スクリーンショット 2023-02-27 15.45.01.png

ここまで完了すると、自動にツールチェーンの作成が開始され、ツールチェーンインスタンスに表示されます。
スクリーンショット 2023-02-27 16.36.41.png
スクリーンショット 2023-02-27 16.37.54.png

最後に

今回はDevOpsにおけるCIツールチェーンを作成する流れを整理しました。
最初独学で行ったところ、色々詰まったり失敗した箇所が多く、初めて触る方にもぜひ参考にしていただければと思います。
次回はCDツールチェーンの作成を行い、アプリデプロイに向けて記事を公開していきます。

注意点

  1. ツールチェーン作成の際、リージョンやリソース・グループは全て統一してください。
  2. Qiita記事作成にあたり、環境の時間軸の前後やインスタンス名の違いなどがあります。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0