5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Rancher2.1のPipelinesを試す

Last updated at Posted at 2018-11-27

RancherにDocker for MacのKubernetesをインポートする - Qiita に引き続き、 Pipelines | Rancher Labs を見ながら試した。

仕様

基本的にドキュメントに記載通りだが、簡単にピックアップしておく。

Pipelineのステージ

以下の3ステージが用意されている。

  • Build
  • Publish
  • Deploy

シンプル。

実用に耐えるのか

シンプルなPipelineなので、柔軟かつパワフルなエンタープライズやチーム用途には向かない的なことが書いてある。

サポートしているバージョン管理システム

  • GitHub
  • GitLab

の2つとのこと。

Pipelinesの動き

  • Jenkins
    • 内部でJenkinsを立ててRancherが良い感じにつかってくれるらしい
    • RancherのPipelinesが良い感じにJenkinsを使ってくれるのでロックされててアクセスできない
    • Jenkinsはステートレスに動作するので永続性とかは心配無用とのこと
  • Docker Registry
    • Defaultで、Docker Registryを立てて、そこにPublishしてくれる
    • オプションで外部のDocker RegistryにPublishするように設定することもできる
  • Minio
    • MinioというStorageにPipelinesの実行ログを吐き出してくれる

Docker Registryは外部を指定すれば永続性とかは大丈夫。Minioは外部ストレージ化する手順が このへん にあるとのこと。

トリガー

  • Manually
  • Automatically
    • GitHubやGitLabのWebhookに自動で登録されるとのこと
    • イベントとしては、push, pull request, tagが用意されている
    • 管理者権限を持っているリポジトリしか対象にできない
    • もちろん、GitHubやGitLabから見える位置に、Rancherを起動していないといけないからローカル起動は使えない

実際にやってみた

以下、実際にやってみたあたりの手順を書く。

GitHubの認証を通す

Security -> Authentication を開く

01.png

GitHubを選んで、記載通りのSetupをGitHub側で実施すると、Client IDとClient Secretが得られるので、それを、RancherのGUI側で入力して保存する。

02.png

すると、良い感じに、GitHubのログイン画面とかOAuthのコンセント画面とか表示されるので認可する。

Pipelinesを作成する

Pipelinesを作成したいClusterのProjectを選ぶ。

特に自分でProjectを用意していない場合は、 Default というのが用意されているので、それを選ぶ。

03.png

Workloads -> Pipelines を開くと、 Configure Repositories ってあるので、それを押下する。

04.png

GitHubのRepositoriesが表示されている。最初は、rancherのサンプルが表示されているが、自分のRepositoriesを表示したいので、 Authorize & Fetch Your Own Repositories を押下する。

05.png

既にGitHubとの連携は済ませてあるので、 Authenticate を押下すれば良い。

07.png

すると、自身のRepositoriesが表示されるようになる(画面リロードとかしたら)ので、Pipelinesに組み込みたいRepositoryを選んで、 Enabled にする。

08.png

すると、Pipelinesに選んだRepositoryが表示される。

今回、選んだRepositoryは、Rancherが用意しているサンプルのRepositoryをForkしたRepositoryなので、既にPipelinesに必要なファイルが版管理されているため、そのまま Run したら動いた。

09.png

以下のように最初は、JenkinsのDocker Imageを取得したりする。

Rancher.png

しばらく待ってるとBuildが走りだす。

Rancher.png

オールグリーン!!

Rancher.png

Workloadsを確認

Workloads を押下すると、4つPodが出来ている。

Rancher.png

  • docker-registry
  • example-greenhouse
  • jenkins
  • minio

example-greenhouse が実際にDeployされたアプリケーションで、ここでは、 http://localhost:313322 にアクセスすると表示される。

まとめ

今回、Pipelinesを試してみた。

  • 実用的かと言われると、ハードで柔軟なPipelinesを作りたい場合は、使えなさそう
    • 切り戻しとかも含めて入れるのは無理っぽい
  • RepositoryにPipeline用のConfig YAMLを含める形式なので本番用のPipelinesは別で検討するのが良いのかも
  • CLIやAPIで操作したいし、そのあたりも追加で調べていこうと思う

以上です。

5
4
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
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?