使用jenkins与蓝海, 我已经配置了映射到私有github存储库的管道。
如果测试没问题,我想将当前分支(让他们说主人)合并到另一个(让我们说生产),然后调用我自己的工具来部署内容生产部门。
Blue ocean的设置过程为我配置了对github的访问(使用oauth https令牌)。 此外,我为jenkins用户设置了一个ssh密钥,并将其注册到github。
当我调用git fetch时,它会失败,因为它尝试使用https进行提取,因此不要使用我的ssh密钥。
如何使用内置的jekins auth机制来调用git fetch
这里是有罪的部分
stage('confirm deployment') {
steps {
input(message: 'deploy to production?', ok: 'Yes, deploy')
}
}
stage('merge into production branch') {
steps {
sh '''git fetch
git checkout production
git merge $BRANCH_NAME
git checkout $BRANCH_NAME'''
}
}
这是相关的输出:
+ git fetch
fatal: could not read Username for 'https://github.com': No such device or address
script returned exit code 128