我有一个Maven SpringBoot项目。我想将其推送到云铸造厂。为此,我为詹金斯编写了一个时髦的管道脚本。 我要补充什么?在脚本和/或pom.xml中将其发布到Artifactory中,以便Jenkins将代码从Git中提取并发布到Artifactory中。在另一个环境中,我将提取工件版本的JAR并将其推送到Cloud Foundry。
假设我项目的groupId为com.example,工件ID为XYZ,版本为1.0-SNAPSHOT。
答案 0 :(得分:0)
因此,为了清楚起见,您不会将代码发布给Artifactory,而是将发布管道中Maven步骤所产生的工件。您可以从Maven(Maven部署或Maven发行版:准备发行:执行)中直接执行此操作,前提是您已设置Maven配置以正确地与目标Artifactory服务器进行身份验证。
您还可以使用Artifactory插件,该插件提供了完成此操作的步骤:
https://jenkins.io/doc/pipeline/steps/artifactory/
最后,您可以在当前管道的另一阶段或在“部署”管道中使用Cloud Foundry插件,以将工件部署到Cloud Foundry实例。
答案 1 :(得分:0)
如果您正在使用gitlab并谈论jenkins管道脚本,则必须创建一个管道作业。下面是您可以增强的示例groovy脚本。
node {
stage ("Checkout"){
checkout changelog: false, poll: false, scm: [$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'LocalBranch', localBranch: 'master']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'your_git_cred', url: 'your_gitlab_url']]]
}
stage ("Build and Push to Artifactory"){
tool name: 'Maven3.0', type: 'maven'
sh "mvn clean deploy"
}
}
在pom中,您必须在分发管理中添加工件位置
<distributionManagement>
<repository>
<id>artifactory</id>
<url>your_artifactory_url</url>
</repository>
<snapshotRepository>
<id>artifactory</id>
<url>your_artifactory_url</url>
</snapshotRepository>
</distributionManagement>
有关jenkins -pipline的更多信息 https://jenkins.io/doc/book/pipeline/