1

Jenkins Pipelines を使用して Maven Java プロジェクトを構築し、そのアーティファクトを Nexus にデプロイしようとしています。Nexus 資格情報は Jenkins によって管理されるため、Maven の settings.xml ファイルを提供するには Jenkins が必要です。私のパイプラインはdocker、ビルドを実行するために使用します。私Jenkinsfileのように見えます:

node('docker') {
   git 'git@bitbucket.org:myorg/myproject.git'

   stage 'Build and Test' 
   // This throws: java.lang.UnsupportedOperationException: Refusing to marshal org.codehaus.groovy.runtime.InvokerInvocationException for security reasons
    //configFileProvider([configFile(fileId: '7d6efcd2-ff3d-43dc-be40-898dab2bff64', variable: 'MYSETTINGS')]) {
    //    sh 'cp ${MYSETTINGS} mysettings.xml'
    // }

    docker.image('maven:3.3.9').inside {
        // sh 'mvn -s mysettings.xml -U -e clean deploy'
        // This fails trying to access AWS ECR (???)
        withMaven(mavenSettingsConfig: '7d6efcd2-ff3d-43dc-be40-898dab2bff64') {
            sh 'mvn -U -e clean deploy'
    }
}

これまでのところ、正しい Maven 設定を提供できません。withMaven (Maven パイプライン プラグイン、 https: //wiki.jenkins-ci.org/display/JENKINS/Pipeline+Maven+Plugin )には、いくつかの「既知の制限」があります。

回避策はありますか? configFileProvider を使用しようとしましたが、セキュリティ上の理由から UnsupportedOperationException がスローされます。

4

0 に答える 0