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