maven - Jenkins使用docker构建无法访问nexus的Maven镜像

标签 maven security docker jenkins nexus

我正在使用Jenkins管道下载我的代码并将其构建在官方Maven容器中

 pipeline {
    agent none
    stages {
           stage('Back-end build') {
            agent {
                docker { 
                    image 'maven'
                    label 'master'       
                 }
            }
            steps {
                sh 'mvn -f de.vitasystems.qrcode.generator/pom.xml -s /usr/share/maven/ref/settings.xml  clean package'
                stash includes: 'target/*.war', name: 'app' 
                }
            }
        }
    }

完成此操作后,我意识到需要nexus存储库配置的settings.xml和settings-security.xml以便进行下载。
然后我这样做:
  • 我创建了另一个使用maven的Dockerfile(FROM maven)
    并复制必要的文件setting.xml并用于
    先前的管道。
  • 指向正确的存储库,但无权下载文件

  • 需要添加security-settings.xml以便能够从我的关系(Maven关系密码)下载数据,但是我无法引用或使用它。

    如何在此容器中使用security-settings.xml? Maven文档说我将文件放在$ HOME / .m2文件夹中,但是它不起作用。
    问候。

    最佳答案

    尝试使用配置文件提供程序插件,他将把master.settings.xml复制到您的工作空间中

    stage('Build')
                {
                    steps {
                    configFileProvider(
                            [configFile(fileId: 'your-id-xxx', variable: 'MAVEN_SETTINGS')]) {
                        sh 'mvn -s $MAVEN_SETTINGS clean install -P integration-tests'
                    }
    

    关于maven - Jenkins使用docker构建无法访问nexus的Maven镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46193373/

    相关文章:

    java - 多个 Maven 项目,单个 JaCoCo 站点?

    iphone - 每个设备是否可以进行一次试用?

    docker ps 显示空列表 - 尽管 docker 告诉容器存在

    postgresql - 使用docker使用sequelize时SequelizeConnectionRefusedError : connect ECONNREFUSED 127. 0.0.1:5432

    security - REST 和 CSRF(跨站请求伪造)

    python - 如何在没有 -A 选项的情况下运行 celery status/flower?

    java - Mavenizing Netbeans 平台应用程序,这可能吗?

    java - 什么样的配置问题或问题可能会使 Maven Assembly 插件运行缓慢?

    java - 找不到媒体类型 MessageBodyWriter=application/json

    security - SharePoint 和 SAML : Is there any guard against a replay attacks?