jenkins持续集成已使用一段时间,现在需要更加智能,支持每次发布后自动添加一个分支版本,便于后续阶段版本维护。但是在jenkinsfile文件中不能直接使用git commit命令,需要做一些配置。
1. 使用jenkinsfile,SCM命令带上git用户和密码
http://tfs\username:xxxxx0@222.222.222.222:9003/tfs/%E6F/_git/SchemaApi
2. jenkinsfile需要多一个斜杠
checkout([{tag}']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'tfs', url: 'http://tfs\\username:xxxxx@222.222.222.222:9003/tfs/%E68%9F/_git/SchemaApi']]])
3. 在jenkins的workspace目录下独立设置user.name和user.email
jenkins运行时提示的命令时设置全局,实际上我设置了,但还是会提示:fatal: unable to auto-detect email address
此时需要进入到workspace文件夹内部,单独设置。
git config user.name "wangjia"
git config user.email "881103xiaoyao@sina.com"
设置完成后测试一下是否已设置成功!
4. Jenkinsfile可以使用git commit提交分支了
{branch} 是项目参数
git commit流水线片段
stage("AddBranch") {
steps {
echo "AddBranch"
script {
dir("${pwd()}"){
bat "git checkout -b ${branch}"
bat "git add SchemaApi/target/*"
bat "git commit -m \"auto publish\""
bat "git push origin ${branch}"
}
}
}
}