如何使用 Azure Devops 将 azure GIT repos 文件从一个文件夹移动到另一个文件夹

问题描述

这是我的场景:

我有一个场景,在成功将 git push 到 azure 存储库中的部署文件夹(SSIS 和 Tsql 脚本)后,我必须在成功后将部署文件夹中的文件移动到存储库内的多个存档文件夹(SSIS 和 Tsql)建造。我需要通过 azure devops 构建和发布过程来实现这一点。任何帮助都非常感谢。

解决方法

您可以使用 CopyFiles 任务和 git 命令在 repo 中复制和推送文件。检查以下示例:

steps:
- checkout: self
  persistCredentials: true

- task: CopyFiles@2
  inputs:
    SourceFolder: 'deployment'
    Contents: '**'
    TargetFolder: '$(Build.SourcesDirectory)/archival1'

- task: CopyFiles@2
  inputs:
    SourceFolder: 'deployment'
    Contents: '**'
    TargetFolder: '$(Build.SourcesDirectory)/archival2'

- script: |
   git config --global user.email "you@example.com"
   git config --global user.name "Your Name"
   git checkout master
   git add $(Build.SourcesDirectory)/archival1/** $(Build.SourcesDirectory)/archival2/**
   git status
   git commit -m "copy files"
   git push origin master

如果您想在复制文件后删除 deployment 文件夹,您可以将以下内容添加到管道中:

- task: DeleteFiles@1
  inputs:
    SourceFolder: 'deployment'
    Contents: '**'
    RemoveSourceFolder: true

- script: |
   git config --global user.email "you@example.com"
   git config --global user.name "Your Name"
   git checkout master
   git add $(Build.SourcesDirectory)/deployment/**
   git status
   git commit -m "delete deployment folder"
   git push origin master 

注意:

您需要grant version control permissions to the build service

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...