jenkins如何支持git提交分支

jenkins持续集成已使用一段时间,现在需要更加智能,支持每次发布后自动添加一个分支版本,便于后续阶段版本维护。但是在jenkinsfile文件中不能直接使用git commit命令,需要做一些配置。

1. 使用jenkinsfile,SCM命令带上git用户和密码

http://tfs\username:xxxxx0@222.222.222.222:9003/tfs/%E6F/_git/SchemaApi

image.png

2. jenkinsfile需要多一个斜杠

checkout([class: 'GitSCM', branches: [[name: '{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


image.png

此时需要进入到workspace文件夹内部,单独设置。

git config user.name "wangjia"
git config user.email "881103xiaoyao@sina.com"

设置完成后测试一下是否已设置成功!


image.png

4. Jenkinsfile可以使用git commit提交分支了

{branch} 是项目参数


image.png

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}"
                    }
                }
            }
        }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容