我在使用Jenkins Git Publisher时遇到了一些困难,并在构建完成后将代码提交给master。我的构建过程增加了我的一个文件中的版本号,然后我想将这个文件提交回repo,但我似乎无法让它工作。
在源代码管理中 - > Git,这些是我的设置:
然后,在Git Publisher中,这些是我的设置:
这是Jenkins的输出:
Pushing HEAD to branch master at repo Android
Adding note to namespace "master":
Updating version
请帮忙!
答案 0 :(得分:4)
我认为jenkins git publisher插件没有像
那样做git add .
git commit -m 'xxx'
插件仅执行推送,并可选择使用git-notes添加备注。
请参阅此处的注释:
https://github.com/hamsterready/jenkins-git-publisher-test/tree/refs/notes/master
我添加了后期构建步骤(执行shell脚本):
git add .
git commit -m 'Updating git.properties'
然后启用git发布者post-build操作,将本地提交推送到原点。
答案 1 :(得分:1)
如果您还在构建中使用Gradle,则可以使用Git plugin。
以下是完整的build.gradle
:
buildscript {
repositories { mavenCentral() }
dependencies { classpath "org.ajoberstar:gradle-git:0.6.3" }
}
import org.ajoberstar.gradle.git.tasks.*
task tag(type: GitTag) {
tagName = version
message = "Release of $version"
}
task pushWithTags(type: GitPush){
credentials{
username = "karim"
password = gitPassword
}
setPushTags(true)
}
task add(type: GitAdd){
include("yourVersionFile.txt")
// or add everything with include("*")
}
task commit(type: GitCommit){
setMessage(commitMsg)
}
task pushNewVersion(){
tasks.add.execute()
tasks.commit.execute()
tasks.tag.execute()
tasks.pushWithTags.execute()
}
这是你使用脚本添加,标记,提交和推送的方法(在Jenkins中有plugin这样做):
gradle pushNewVersion "-PcommitMsg=hi" "-Pversion=0.1.1" "-PgitPassword=secret"
答案 2 :(得分:0)
我在Jenkins上使用Git插件将更改推回原点时遇到了同样的问题。您使用的Git客户端插件版本是什么? git客户端插件中必定存在错误,因此行为也是如此。
他们修复了与推送有关的问题。参考:https://issues.jenkins-ci.org/browse/JENKINS-17242。 而且似乎已经破了,因为最近再次提出了另一个错误:https://issues.jenkins-ci.org/browse/JENKINS-19442
如果你阅读网址中的讨论,建议的快速修复是将Git客户端插件降级到1.0.5并将git插件降级到1.3.0。希望这对你有用。