【问题标题】:How can I run the command git pull within my Azure batch startup task?如何在 Azure 批处理启动任务中运行命令 git pull?
【发布时间】:2017-11-10 14:41:15
【问题描述】:

当您将新机器添加到池中时,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. 启动任务以任务自动用户、管理员身份运行

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

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

【问题讨论】:

    标签: git bash azure azure-batch


    【解决方案1】:

    基本上,batch 正在做它应该做的事情,但是,您似乎正在寻找在没有用户输入的情况下验证 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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-04
      • 2014-11-18
      • 2016-11-07
      • 2019-03-30
      • 2018-09-08
      • 1970-01-01
      相关资源
      最近更新 更多