【问题标题】:Azure DevOps - Pipeline to pull code down to remote serverAzure DevOps - 将代码下拉到远程服务器的管道
【发布时间】:2021-05-13 12:02:27
【问题描述】:

我正在尝试在我们的 Azure DevOps 组织中创建一个管道,只要将推送请求发送到我的特定存储库的主分支,它就会自动将代码“拉”到单个远程服务器。我很难理解整个过程以及完成这个相对简单的管道我真正需要什么。

目前,我的远程服务器在 C: 驱动器上有一个文件夹,其中包含各种 .ps1 文件。我想把它变成我的 repo 并在同一台服务器上安装自托管代理,这样每当我将某些东西推送到我的 本地 服务器上的主分支时,它就会自动被拉到我的远程服务器和我运行的计划任务将选择运行最新的代码。

我相信我首先需要在我的远程服务器上安装一个自托管代理。我不完全确定该代理是否应该是部署代理或构建代理..或两者兼而有之?由于我不是在技术上构建项目,而是简单地覆盖 .ps1 文件,我想它应该只被授予部署代理的权限。

我无法理解的其他事情是我如何指定我的仓库在远程服务器上的位置。我可以动态定义它还是需要在我的路径中指定该特定 repo 的目标路径?

【问题讨论】:

    标签: azure-devops


    【解决方案1】:

    根据您的描述,您可以将您的要求简化为:使用Copy Files Over SSH task 通过 SSH 将文件从源文件夹复制到远程计算机上的目标文件夹,然后运行相关的 Git 命令,如下所示。

    cd repo_directory
    git add .
    git commit -m "upadte"
    git push
    

    因此,此远程 repo 使用 SSH Deployment task 更新。

    另外,你需要deploy a self-hosted build agent,因为它可以用于构建管道。

    最后,configuring a schedule trigger 用于此构建管道。

    【讨论】:

    • 如果我有多个源文件夹怎么办? IE。多个用户从不同的机器提交同一个仓库
    • 我不明白你的意思,你能详细解释一下吗?
    • 我有一个与我的团队共享的 devops 存储库。我的本地 PC 上可能有一个克隆副本,我的队友也可能有一个克隆版本。每当我们中的任何人进行更新并推送时,我都希望代码转到 devops,然后被拉到服务器的 c:/ 驱动器,其中相同的 repo 已关闭
    • 在这种情况下,您可以使用 Azure Git 存储库。并使用此 repo 创建管道并为其设置 CI 触发器,因此每次推送都会触发新的构建以下拉到 c:/driver。详情请见:docs.microsoft.com/en-us/azure/devops/pipelines/repos/…
    • 是的,这是计划,但仍在尝试收集详细信息。我刚刚获得管理员权限,可以将自托管代理添加到其中一个代理池中,所以我明天会试一试。试图降低 YAML 将是另一回事
    猜你喜欢
    • 1970-01-01
    • 2018-12-10
    • 2020-12-13
    • 1970-01-01
    • 1970-01-01
    • 2021-03-15
    • 2020-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多