Rancher2.1で、GitLabとの連携が簡単になったみたいなので、試してみた。

## Rancher2.1でGitLabとの連携が簡単になったみたいなので、使い勝手を試してみました。

#### ※今回はGoogle Cloud Platform(GCP)上に環境を構築しています。

1. Google Compute Engine上のVMにUbuntu16.04を入れてベース環境を構築します。
2. ベース環境にDockerを導入します。
3. ベース環境にRancherを導入します。<br>
`docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:latest`
<br>
<img width="1491" alt="Screen Shot 2018-10-25 at 23.47.32.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/ed08786f-2e06-ce1d-49a4-9b63c3dd3149.png">
4. RancherからClusterを追加
<img width="1491" alt="Screen Shot 2018-10-25 at 23.55.14.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/c9ca3188-1340-3c13-da36-4f907ad35dd1.png">
<img width="1491" alt="Screen Shot 2018-10-25 at 23.55.45.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/0687f1f7-0638-4c47-17d0-2bd1337bb433.png">
3つのNodeを持つ環境が構築されました。
<img width="1491" alt="Screen Shot 2018-10-26 at 0.00.09.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/92eae282-b8d0-73cb-1f0d-8380a466a7f1.png">
5. GitLabのプロジェクト情報を取り込みます。<br>
DefaultのNamespaceでPiplelinesを選択し、Configure Repositoriesを選択します。
<img width="1491" alt="Screen Shot 2018-10-26 at 0.03.46.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/c0b5682b-46e1-3b9f-7f6b-8a0fdb867de2.png">
Authorize & Fetch Your Own Repositoriesを選択します。
<img width="1491" alt="Screen Shot 2018-10-26 at 0.05.32.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/00377456-5410-9196-a63c-2ba74c853f2a.png">
GitLabを選択します。
<img width="1491" alt="Screen Shot 2018-10-26 at 0.07.10.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/97951b50-0d8f-c0ee-609f-fb72c890b5b9.png">
GitLabにRancherの画面に表示されていた情報を設定します。<br>
最初、「Redirect URIって何を設定するんだ？」と思いましたが、Rancherの画面で表示されているRedirect URIをそのまま貼るだけでした。楽ちん。<br>
必要なScopesはapiだけのようです。
<img width="1748" alt="Screen Shot 2019-01-25 at 10.19.21.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/acbcfde5-9a81-b329-3189-8af0e7ed886f.png">
<img width="1748" alt="Screen Shot 2019-01-25 at 10.22.05.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/3f2d2101-4f6e-d6de-09bf-93d2dc2ae8d3.png">
取得できたApplication IDとSecretをRancherに設定し、Authenticateを押します。
<img width="1491" alt="Screen Shot 2018-10-26 at 0.13.08.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/8ee7d35d-4d2c-fa29-f09a-0a20e80981d7.png">
GitLabの認証画面が出ますので、Authorizeを押します。
<img width="1152" alt="Screen Shot 2018-10-26 at 0.15.19.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/c6ab4156-2985-12fb-391b-7baec21ab0c5.png">
使用できるRepositoriesが表示されますので、使用するRepositoryを選択してEnabledにします。
<img width="1491" alt="Screen Shot 2018-10-26 at 0.18.51.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/42317878-d844-5d3b-e61f-1680ad163c32.png">
6. Piplelineを編集します。
<img width="1491" alt="Screen Shot 2018-10-26 at 0.20.17.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/3f5c2acf-d120-44a0-0718-2f063d46641a.png">
7. Pipelineを実行(Run)します。
<img width="1491" alt="Screen Shot 2018-10-26 at 0.21.34.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/794f743e-4231-db67-8119-f7d6daeeb1c2.png">
実際に内部で実行されるのはJenkinsです。
<img width="1491" alt="Screen Shot 2018-10-26 at 0.40.40.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/a09a866e-13e4-b82a-2115-2118cc7d84b6.png"><img width="1491" alt="Screen Shot 2018-10-26 at 0.48.52.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/57c2d978-76d9-6354-9e09-4216347e3fcf.png">
<img width="1491" alt="Screen Shot 2018-10-26 at 0.39.54.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/785585aa-09c6-97ed-aef8-4566b4f0a1b8.png">

Kubernetesクラスタを作成した後の動作を動画にまとめましたので、合わせてご参照ください。
https://www.youtube.com/watch?v=xEi4Waonno4