Maven 如何将custom settings.xml与GitLab CI Auto ;德沃斯?
我正在使用GitLab CI自动 DevOps编译一个基于DinD(docker in docker)运行程序中Maven的项目 CI作业启动,并且正确检测到Maven的buildpack(基于herokuish) 如何配置自定义设置文件而不切换到自定义.gitlab-ci.ymlMaven 如何将custom settings.xml与GitLab CI Auto ;德沃斯?,maven,gitlab,gitlab-ci,buildpack,gitlab-autodevops,Maven,Gitlab,Gitlab Ci,Buildpack,Gitlab Autodevops,我正在使用GitLab CI自动 DevOps编译一个基于DinD(docker in docker)运行程序中Maven的项目 CI作业启动,并且正确检测到Maven的buildpack(基于herokuish) 如何配置自定义设置文件而不切换到自定义.gitlab-ci.yml 我想继续使用自动 DevOps.由于maven需要访问基于Nexus的私有存储库,因此可以方便地配置自定义settings.xml(并使用源代码对其进行版本设置) 最简单的解决方案是包含自定义settings.xml
我想继续使用自动 DevOps.由于maven需要访问基于Nexus的私有存储库,因此可以方便地配置自定义settings.xml(并使用源代码对其进行版本设置) 最简单的解决方案是包含自定义settings.xml。这项功能包含在Auto DevOps不久前使用的相应构建包中,您可以在本文中看到 因此,我在
.gitlab ci.yml
配置文件中定义了MAVEN\u SETTINGS\u PATH变量:
variables:
- MAVEN_SETTINGS_PATH: ".m2/settings.xml"
然后,将文件settings.xml
包含在存储库中。
避免包含机密或其他敏感信息
使用带有凭据的专用maven存储库时
最后,您可以在Gitlab中定义一些变量,以便在settings.xml
中使用。使用Gitlab UI或API为用户、密码和存储库url添加变量,作为环境变量从Gitlab包含到作业中。然后可以在settingx.xml
中使用它,比如${env.VARIABLE\u NAME}
Gitlab CI配置文件示例:
include:
- template: Auto-DevOps.gitlab-ci.yml
variables:
MAVEN_SETTINGS_PATH: ".m2/settings.xml"
AUTO_DEVOPS_BUILD_IMAGE_FORWARDED_CI_VARIABLES: NEXUS_REPO_USER,NEXUS_REPO_PASSWORD,NEXUS_REPO_URL