我有一个Maven SpringBoot项目。我想把它推向云计算工厂。为此,我为Jenkins编写了一个groovy管道脚本。我还需要添加什么?在脚本和/或pom.xml中,为了将其发布到Artifactory,以便Jenkins从Git中提取代码并将其发布到Artifactory.In另一个环境中,我将提取artifactory版本的JAR并将其推送到Cloud Foundry。
假设我的项目的快照是com.example,artifactid是my,版本是1.0-SNAPSHOT。
发布于 2019-02-21 21:15:34
因此,为了清楚起见,您不会将代码发布到Artifactory,您将发布管道中的Maven步骤生成的工件。您可以直接在Maven (maven deploy或maven release:prepare release:perform)中执行此操作,前提是您已经将Maven配置设置为能够正确地向目标Artifactory服务器进行身份验证。
您还可以使用Artifactory插件,该插件提供了完成此操作的步骤:
https://jenkins.io/doc/pipeline/steps/artifactory/
最后,您可以在当前管道的另一个阶段使用Cloud Foundry插件,或者在“部署”管道中将工件部署到Cloud Foundry实例。
发布于 2019-02-21 21:17:33
如果您正在使用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中,您必须在分发管理中添加artifactory位置。
<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/的更多信息
https://stackoverflow.com/questions/54804146
复制相似问题