Edited at

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

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ポートの穴が空いている必要があるので注意してください。


参考情報