如何在Azure批处理启动任务中运行命令git pull?

时间:2017-11-10 14:41:15

标签: git bash azure azure-batch

将新计算机添加到池时,Azure批处理允许您指定在启动或重新启动该节点时运行的启动任务。

我想在我的代码库上运行git pull,这样每次节点启动时都会有最新的代码。

为实现这一目标,我执行了以下操作:

  1. 在节点映像上创建了一个部署密钥,并将此部署密钥添加到bitbucket上的git仓库

  2. 在机器上添加了git repo的当前副本

  3. 使用以下命令在Azure中创建启动任务:ssh-agent bash -c 'ssh-add /home/ubuntu/.ssh/id_rsa; git -C /home/ubuntu/sourcecode/ pull'

  4. 启动任务作为任务autouser,Admin

  5. 运行

    当机器启动时脚本运行但是我遇到了一个问题,即它无法在没有用户输入的情况下验证bitbucket主机,这会导致整个操作失败。

    我知道我需要在某处更新known_hosts文件,但我不知道哪个用户或哪个用户?

1 个答案:

答案 0 :(得分:1)

基本上,批处理正在做它应该做的事情,但是,似乎你想要在没有用户输入的情况下验证bitbucket主机,我认为你的目标是在这里有详细记录::)

基本上,尝试是:ssh public-key authentication so that you can use ssh, sftp or scp from users Bitbucket Pipelines pipeline

使用节点:

  • 您可ls进入ls ~/.ssh

进一步补充:

用于:“连接到计算节点”子标题。希望这会有所帮助。

只是一个想法:

进一步补充:我认为您可以为安装程序创建一个shell脚本并将其作为启动任务的一部分运行,一旦完成,您就可以在节点上启用git pull。