【IBM Cloud】CI/CDをいじってみた　②CD Pipelineの統合

## はじめに
今回はIBM Cloudでの操作として、CI/CDにおけるCD Pipelineを統合する方法についてまとめました。
前提条件や前の作業などは[【IBM Cloud】CI/CDをいじってみた　①CIツールチェーンのセットアップ](https://qiita.com/Sungyun_Moon/items/fe7cbba9df924a4bfb60)を参考にしてください。

## CD Pipelineを追加する流れ
[前回の記事](https://qiita.com/Sungyun_Moon/items/fe7cbba9df924a4bfb60)ではCIツールチェーンを作成しましたが、CI/CDツールチェーンが作成され、インスタンスが追加された時の画面が以下となります。右上の`追加`ボタンをクリックします。
![スクリーンショット 2023-03-27 21.31.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/864da44d-448c-28ab-1cc8-dac1c5381f48.png)

追加できるツールがカテゴリーごとに表示されますが、今回はCD Pipelineを追加するので、検索欄を使って`Delivery Pipeline`を探しクリックします。
![スクリーンショット 2023-03-27 21.31.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/dabc4873-318b-b593-7068-ae1ad4a05ae5.png)

パイプライン名に任意の名前を入力し、`統合の作成`をクリックします。
今回はパイプライン・タイプは`Classic`に設定しています。
![スクリーンショット 2023-03-27 21.52.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/8d48d91d-2f2f-ca5c-ee7a-87de1b65b992.png)

先ほどの画面から新しくDelivery Pipelineが作成されたことがわかります。
新規追加されたツールをクリックします。
![スクリーンショット 2023-03-27 21.57.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/488d32ee-fadf-a0b6-a936-95493c3c52f7.png)

作成されたパイプラインには何も表示されていません。`ステージを追加`をクリックします。
![スクリーンショット 2023-03-27 21.57.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/21e03e36-aba7-fad4-d80e-3da4f814039a.png)

ステージの作成の最低入力条件としては、上端の`入力`と`ジョブ`を記載すべきです。
まず入力には任意のGitリポジトリーを選択します。
![スクリーンショット 2023-03-27 22.02.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/54b5389a-bd79-b72f-85f7-1f4bb523d2fc.png)

また、ジョブ欄に入り、`ジョブの追加→ビルド`をクリックします。こちらの設定はデフォルトの`シンプル`に設定します。
設定が完了したら下端の`保存`をクリックします。
![スクリーンショット 2023-03-27 22.12.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/77db1637-c073-e6d3-508d-d0344a8540e9.png)
![スクリーンショット 2023-03-27 22.12.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/843af286-a2ee-ef62-5be6-90c551df6e3e.png)

ステージが作成され、実行前の待機状態となっています。`プレーボタン`を押すことでツールを動かすことができます。
![スクリーンショット 2023-03-27 22.03.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/1901a132-2557-564b-494c-6c0cd75f34d0.png)

青色のステージ作成中の画面が時間が経ったら緑色の成功画面に変わります。
![スクリーンショット 2023-03-27 22.03.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/14892a7d-584a-908c-d7df-f5b693a4755a.png)
![スクリーンショット 2023-03-27 22.03.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/3ed523ad-caec-0477-eb3a-c364fd483698.png)

続いて他のステージも繋げて作成してみます。
 `入力`欄には先ほど作成したステージを設定するため、`ビルド成果物`を選択します。
また、`ジョブ`欄には`デプロイ構成`を選択し、デプロイヤー・タイプは`Kubernetes`を選択します。
その他設定はAPIキーの設定（鍵マークをクリックするとAPIが設定されます）で自動的に入力されますが、もしうまくいかない場合はプルダウンで設定します。
ジョブには今回も同様に`ビルド`を選択して保存にて作成します。
`プレーボタン`をクリックすると、まもなく成功したと表示されます。
![スクリーンショット 2023-03-27 22.18.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/d1448e05-f0c9-9667-a256-97bc2283098c.png)
![スクリーンショット 2023-03-27 22.59.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/525fcccd-bd8f-c74d-e45a-9b41eafcad8a.png)

今回は一つのステージに複数のジョブを設定してみます。
前の操作と同様に`入力`欄には`ビルド成果物`を設定し、`ジョブ`欄には`テスト構成`を設定します。なお、`テスタータイプ`は`シンプル`に設定します。
また、続いて`デプロイ構成`を選択し、デプロイヤー・タイプは`Kubernetes`を選択、`保存`をクリックします。
![スクリーンショット 2023-03-27 23.03.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/fcd39aa7-08ad-5b18-4bc8-7cffc12f391b.png)
![スクリーンショット 2023-03-27 23.04.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/1be8921b-370a-fba4-3759-6b10343d2b39.png)

`プレーボタン`をクリックするとこちらも成功したことが表示されます。
![スクリーンショット 2023-03-27 23.09.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/9a05daa1-b2f3-ec0b-6efb-6593796c1669.png)

参考までに、失敗した時の画面を表示させてみます。
`入力`欄で`ビルド成果物`を選択、`ジョブ`欄では`テスト`を選択し、`テスター・タイプ`を`カスタムDockerイメージ`を選択します。
そこに間違った任意のDockerイメージ名を記載してステージを作成し、`プレーボタン`をクリックすると失敗した画面が表示されます。
あらゆる失敗した場合には、構成に間違った入力や設定がないか再度確認し、`プレーボタン`をクリックしながら試してみる必要があります。
![スクリーンショット 2023-03-27 23.10.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/e4e4f5bc-9ac3-82ec-55bb-10453ba8853e.png)
![スクリーンショット 2023-03-27 23.12.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/a6a67e0a-2380-c48e-fa0a-e13969c39e9f.png)

なお、`ログおよび履歴の表示`をクリックすると、ステージ作成や結果の成功有無などに関するログ情報を確認することができます。
![スクリーンショット 2023-03-27 23.23.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/9c4fd017-51de-00f3-2185-a3b6f23695c8.png)
![スクリーンショット 2023-03-27 23.24.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/8b194d81-7d0e-938d-8d78-503da848b1f7.png)


## 参考
[IBM Cloud Docs - Delivery Pipeline](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-deliverypipeline_build_deploy)