プロジェクトアーティファクトが有効で公開できる状態であることがわかっている場合は、Talendから提供されているパイプラインスクリプトを編集して、プロジェクトのアーティファクトをアーティファクトリポジトリー(たとえばNexus)とDockerレジストリーの両方にデプロイすることもできます。
手順
- Talend_Pipeline設定ページを開き、[Script] (スクリプト)エディターに移動します。
-
アーティファクトをデプロイするには、Talendから提供されているデフォルトスクリプトに定義されている'Build, Test and Publish artifacts to artifact repository'ステージと'Push to a Docker registry'ステージを以下のユニークなステージに置き換えます。
例え
stage ('Push to artifact repository and Docker) { withCredentials([usernamePassword(credentialsId: 'docker', usernameVariable: 'Dusername', passwordVariable: 'Dpassword')]) { // Docker credentials stored in Jenkins Credentials withMaven( maven: 'M3', mavenSettingsConfig: 'maven-file', mavenOpts: "-Dlicense.path=${LICENSE} -Dupdatesite.path=${UPDATESITE_URL} -DaltDeploymentRepository=releases::default::http://XXX:8081/repository/XXX/ -Ddocker.push.registry=XXX -Ddocker.push.username=${env.Dusername} -Ddocker.push.password=${env.Dpassword} -Xms1024m -Xmx3096m") { // Run the maven build sh "mvn -f $PROJECT_GIT_NAME/poms/pom.xml deploy -Pnexus -Pdocker -e -pl jobs/process${TYPE}/${ARTIFACT}_${VERSION} -am -Dtalend.docker.name=${env.IMAGE_NAME}" } } }
フィルタリングされたアーティファクトをNexusとDockerの両方にデプロイできます。アーティファクトをデプロイする独自のNexusレジストリーとDockerレジストリーを指定する必要があります。Docker認証情報は、ユーザーが以前Jenkinsに保存した認証情報を参照します。
注: サンプルはUnix環境に合わせてあります。Windowsをお使いの場合は、サンプル内のshをbatに置き換えてください。 - [Save] (保存)をクリックして変更内容を反映させます。