如何在Bamboo Script任务中执行git push

时间:2017-03-29 00:21:08

标签: git bamboo

我们将git视为一些配置和csv文件的数据库。我有一个Bamboo计划,我在那里检查一些代码(来自Stash),运行节点脚本并生成一些csv文件。 我需要能够'git push'到某个存储库。 我有一个脚本任务,我在写这样的东西 -

git remote add central ssh://git@stashRepoUrl:port/xyz.git 
git config --global user.name "Bamboo"
git config --global user.email "bamboo@xyz.com"

git add src/main/resources/lookups/main/common/*
git add src/main/resources/lookups/main/reference/*
git commit -m "FROM BAMBOO JOB"

git push -u central featureBranchName

我收到以下错误 - hostkey验证失败。

如何在我的藏匿仓库和这个“竹子代理商”之间设置ssh?我相信有人可能已经尝试过了。

谢谢!

3 个答案:

答案 0 :(得分:2)

您需要使用脚本使用的帐户手动执行(仅一次):

ssh -T git@stashRepoUrl -p port

这将触发您回答“是”(更新~/.ssh/known_hosts

的问题

然后你的脚本可以继续。

请注意,我还会手动设置以下行:

git remote add central ssh://git@stashRepoUrl:port/xyz.git 

您只需要使用该命令一次,而不是每次脚本都运行。

答案 1 :(得分:2)

atlassian confluence中有文档如何在构建期间提交Git仓库

请参阅此链接 https://confluence.atlassian.com/bamkb/how-to-commit-to-a-git-repo-during-a-build-720641378.html

答案 2 :(得分:1)

作为对VonC答案的更新,如果您使用以下内容,可以将其放在脚本中:

Recreating users-service
Attaching to users-service
users-service    | python: can't open file 'manage.py': [Errno 2] No such file or directory
users-service exited with code 2

如果您正在使用泊坞窗或完全清理代理,这将自动接受相关机器的证书。