繁体   English   中英

使用 git With 部署项目(与本地文件夹结构不同的存储库)

[英]Deploy project using git With (Respository with different folder estructure than local)

我正在学习一些关于 git 和 devops 的知识,我正在尝试使用 azure devops 管道部署几个脚本。

我想到的流程是这样的:

Git 触发器 -> git 拉命令 -> 运行测试命令

在存储库中,我有这个文件夹结构:

project
|
└───folder1
│       file111.txt
│       file112.txt
│       ...
│   
└───folder2
│       file111.txt
│       file112.txt
│       ...
│   
└───folder3
│       file111.txt
│       file112.txt
│       ...

但是,对于部署,folder1 是 1 个 VM 的一部分(这个 VM 只会有这个文件夹),其他 2 个文件夹将在另一个 VM 中。

最后,folder3 需要进入 VM 中的 folder2。

VM 中的结构将是:

虚拟机1:

folder1
│   file111.txt
│   file112.txt

虚拟机2:

folder2
│   file011.txt
│   file012.txt
│   │
│   └───folder3
│       │   file111.txt
│       │   file112.txt

知道我如何使用 git 杜绝这个吗? 根据您的经验,这是执行此操作的最佳方法?

我想我可以使用复制文件任务,但我不确定我是否只能复制在回购中添加/修改的文件。

提前致谢

构建代理工作目录是您将用来完成您的要求的文件夹。 当您将 Azure pipeline.yml 文件添加到 github 存储库时,源代码将自动下载到 sourcesDirectory 中。 devOps 代理的默认工作目录是C:\agent\work

如果您没有多次签出,您的存储库将被下载到$(Pipeline.Workspace)/s/

在 .YML 文件中,您可以添加AzureFileCopy任务以在选定的 VM 上进行复制。 例如,根据您的文案需要,您可以有两个或三个任务。

- task: AzureFileCopy@4
  inputs:
    SourcePath: '$(Pipeline.Workspace)/s/folder2'
    azureSubscription: 'subscription'
    Destination: 'AzureVMs'
    storage: 'rmstaccount'
    resourceGroup: 'rg'
    MachineNames: 'vmName'
    vmsAdminUserName: 'username'
    vmsAdminPassword: 'password'
    TargetPath: 'destinationFolder'
    skipCACheck: false

Azure 文件副本 arguments:

https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-file-copy?view=azure-devops

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM