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

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

EnrichVersion
7.3
EnrichProdName
Talend Big Data
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
EnrichPlatform
Talend Administration Center
Talend Artifact Repository
Talend CommandLine
Talend JobServer
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] (保存)をクリックして変更内容を反映させます。