如何解决如何将其他文件添加到 Azure DevOps 工件?
我的 Azure DevOps 管道通过以下任务成功地将我的 Web 服务打包到一个 zip 文件中:
- task: DotNetCoreCLI@2
displayName: Pack Artifacts
inputs:
command: 'publish'
publishWebProjects: false
arguments: '"Web Service" --configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)'
这会将项目的全部内容存放在“drop\a.zip”中的一个 zip 文件中。现在,我有一个脚本 (setup.ps1),我想运行它来打开防火墙和需要安装的 SSL 证书。我想将它们添加到作为“发布”操作目标的同一个 zip 文件中。我试过这个:
- task: copyFiles@2
inputs:
SourceFolder: 'Additional Files'
Contents: '*'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
flattenFolders: true
但它只是将“Additional Files”目录中的文件与 a.zip 文件一起添加到“\drop”目录中:
drop
a.zip
setup.ps1
www_mysite_com.pfx
我将如何将附加文件添加到作为构建和发布步骤的一部分创建的 zip 文件中。这应该是一个普遍的问题。常见的解决方案是什么?
解决方法
您有三个选择:
,你的工件目录应该是
drop
a.zip
现在,您想将 setup.ps1
和 www_mysite_com.pfx
添加到文件夹 a
中,对吗?
YAML 示例:
- task: DotNetCoreCLI@2
displayName: Pack Artifacts
inputs:
command: 'publish'
publishWebProjects: false
arguments: '"Web Service" --configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)'
#Extract a.zip file to $(Build.ArtifactStagingDirectory)/drop/a folder
- task: ExtractFiles@1
inputs:
archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/drop/a.zip'
destinationFolder: '$(Build.ArtifactStagingDirectory)/drop/a'
cleanDestinationFolder: false
overwriteExistingFiles: false
#Delete PrescQIPPWebApp.zip file
- task: PowerShell@2
inputs:
targetType: 'inline'
script: 'Remove-Item ''$(Build.ArtifactStagingDirectory)/drop/a.zip'''
#copy these files to the folder a
- task: CopyFiles@2
inputs:
SourceFolder: 'Additional Files'
Contents: |
setup.ps1
www_mysite_com.pfx
TargetFolder: '$(Build.ArtifactStagingDirectory)/drop/a'
OverWrite: true
flattenFolders: true
#Archive folder a to a.zip
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)/drop/a'
includeRootFolder: true
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/drop/a.zip'
replaceExistingArchive: true
#Delete a folder
- task: PowerShell@2
inputs:
targetType: 'inline'
script: 'Remove-Item -path ''$(Build.ArtifactStagingDirectory)/drop/a'' -Recurse -Force -EA SilentlyContinue -Verbose'
#And now,we could the a.zip contain the file setup.ps1 and www_mysite_com.pfx.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。