アーティファクトリポジトリーとDockerに同時にデプロイするようにパイプラインスクリプトを編集する - Cloud

クラウドのTalendソフトウェア開発ライフサイクル - ベストプラクティスガイド

EnrichVersion
Cloud
EnrichProdName
Talend Cloud
EnrichPlatform
Talend Artifact Repository
Talend Management Console
Talend Studio
task
ジョブデザインと開発
デプロイメント
管理と監視
プロジェクトアーティファクトが有効で公開できる状態であることがわかっている場合は、Talendから提供されているパイプラインスクリプトを編集して、プロジェクトのアーティファクトをアーティファクトリポジトリー(たとえばNexus)とDockerレジストリーの両方にデプロイすることもできます。

手順

  1. Talend_Pipeline設定ページを開き、[Script] (スクリプト)エディターに移動します。
  2. アーティファクトをデプロイするには、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をお使いの場合は、例内のshbatに置き換えてください。
  3. [Save] (保存)をクリックして変更内容を反映させます。