LoginSignup
0
0

More than 3 years have passed since last update.

JenkinsとCloudFoundry(Pivotal Cloud Foundry)を連携する方法

Last updated at Posted at 2018-03-14

JenkinsとCloudFoundry(Pivotal Cloud Foundry)のCDの連携設定を備忘録としてまとめました。

以下のシリーズのCF/PCF版です。

1. CloudFoundry Pluginをインストールする

JenkinsにJenkins CloudFoundry Pluginをインストールします。
インストールは管理者権限のあるユーザでJenkinsにログインし、Jenkinsの管理プラグインの管理利用可能なタブを選択、CloudFoundryにチェックをいれてインストールを実行します。

2. CloudFoundry / Pivotal Cloud Foundryの認証設定

JenkinsにCF/PCFの認証情報を設定します。Jenkinsの左のメニューの認証情報Systemグローバルドメインを選択、左にある認証情報の追加を選択し、以下の内容で追加します。

  • 種類 : ユーザ名とパスワード
  • ユーザ名 : CF/PCFのユーザ名
  • パスワード : CF/PCFのパスワード
  • ID : 空欄(あとで自動発行される)
  • 説明欄 : CF/PCF認証用のユーザである説明を記載

3. Jenkinsfileの設定と動作確認

JenkinsfileのPipline ScriptにはpushToCloudFoundryを使って以下の内容を設定します。

  • target : CloudFoundry APIのドメイン
  • organization : 対象のorganization
  • cloudSpace : 対象のスペース
  • credentialsId : 2で設定した認証情報のID(英数字文字列)
  • manifestChoice(optional) : manifestの情報
    • たくさんあるので省略、manifest.ymlに内容を記載して、インポートする形がよいと思います。
  • pluginTimeout(optional) : timeout設定、デフォルトは120
  • selfSigned(optional) : 自己証明書の設定、デフォルトはfalse
  • serviceToCreate(optional) : コマンド実行時に作成するサービス

以下にサンプルを記載しました。

pipeline {
    agent any

    stages {
        stage('deploy'){
            steps {
                pushToCloudFoundry(
                    target: 'xxxxxxxxx',
                    organization: 'yyyyyyy',
                    cloudSpace: 'zzzzz',
                    credentialsId: 'wwwwwwwwwwwwwwwwwww',
                    manifestChoice: [manifestFile: 'manifest.yml']
                )

            }
        }
    }
}

IP制限のある環境で実行する場合

Jenkins Pluginの中でcf pushおよびcf logs相当のコマンドが実行されるため、CF/PCFに対してJenkinsからの80ポート/443ポートおよび4443ポートの穴が空いている必要があるので注意してください。

参考情報

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