簡體   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