Wol*_*and 43 git github jenkins
我有一个jenkins工作,它从github克隆存储库,然后运行powershell脚本,增加文件中的版本号.我现在正在尝试将该更新文件发布回github上的原始存储库,因此当开发人员提取更改时,他会获得最新版本号.
我尝试在后期构建事件中使用Git Publisher,我可以发布没有问题的标签,但它似乎没有发布任何文件.
Wol*_*and 36
我自己找到了答案,这个博客有所帮助:http://thingsyoudidntknowaboutjenkins.tumblr.com/post/23596855946/git-plugin-part-3
基本上需要执行:
git checkout master
Run Code Online (Sandbox Code Playgroud)
在修改任何文件之前
然后
git commit -am "Updated version number"
Run Code Online (Sandbox Code Playgroud)
修改后的文件
然后使用Git Publisher的post build操作和 Merge Results选项,它将在成功构建时将更改推送到github.
实际上,"Checkout to specific local branch"也不需要克劳斯的回答.
您可以执行更改,执行git commit -am "message"然后使用"Git Publisher"和"Branch to push"= /refs/heads/master(或开发或需要推送的任何分支),"Target remote name"= origin.
我按照以下步骤操作。这对我有用。
在 Jenkins 中,在 Build 下执行 shell,创建一个文件并尝试将该文件从 Jenkins 工作区推送到 GitHub。
下载 Git Publisher 插件并配置,如下图所示。
单击“保存并构建”。现在您可以检查您的 git 存储库文件是否已成功推送。
设置 Global Jenkins 凭据后,您可以应用此步骤:
stage('Update GIT') {
steps {
script {
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
withCredentials([usernamePassword(credentialsId: 'example-secure', passwordVariable: 'GIT_PASSWORD', usernameVariable: 'GIT_USERNAME')]) {
def encodedPassword = URLEncoder.encode("$GIT_PASSWORD",'UTF-8')
sh "git config user.email admin@example.com"
sh "git config user.name example"
sh "git add ."
sh "git commit -m 'Triggered Build: ${env.BUILD_NUMBER}'"
sh "git push https://${GIT_USERNAME}:${encodedPassword}@github.com/${GIT_USERNAME}/example.git"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
82672 次 |
| 最近记录: |