Azure DevOps Pipelines:.artifactignore无法过滤build_scripts目录求助
问题:Azure DevOps Pipeline中.artifactignore无法排除build_scripts目录
背景
通过Azure DevOps Pipelines将PowerShell模块发布到Azure Artifacts,仓库内的build_scripts目录文件无需发布,因此使用了.artifactignore文件。
现状
无论如何配置,build_scripts目录下的文件始终被包含在制品中,安装PowerShell模块时该目录文件依然存在。
相关信息
- 仓库结构:[对应原截图展示的目录结构]
- Pipeline YAML配置:
- main name: 'PowerShell Module Project' variables: major: 1 minor: 0 patch: $(Build.BuildID) buildVer: $(major).$(minor).$(Build.BuildID) pool: DevPool stages: - stage: Build jobs: - job: Build steps: - task: PowerShell@2 inputs: filePath: '$(System.DefaultWorkingDirectory)/build_scripts/build.ps1' - task: NuGetCommand@2 inputs: command: 'pack' packagesToPack: '$(System.DefaultWorkingDirectory)/PowerShellModuleProject.nuspec' versioningScheme: byEnvVar versionEnvVar: buildVer buildProperties: 'VERSIONHERE=$(buildVer)' - task: CopyFiles@2 displayName: 'Copy .artifactignore' inputs: SourceFolder: '$(build.sourcesdirectory)' Contents: '**/.artifactignore' TargetFolder: '$(build.artifactstagingdirectory)' flattenFolders: true - task: PublishPipelineArtifact@1 inputs: targetPath: '$(Build.ArtifactStagingDirectory)' artifactName: 'NuGetPackage' publishLocation: 'pipeline' - stage: Deploy jobs: - job: Deploy steps: - task: DownloadPipelineArtifact@2 inputs: buildType: 'current' artifactName: 'NuGetPackage' itemPattern: '**' targetPath: '$(Pipeline.Workspace)' - task: NuGetCommand@2 inputs: command: 'push' packagesToPush: '$(Pipeline.Workspace)/**/*$(buildVer).nupkg' nuGetFeedType: 'internal' publishVstsFeed: 'MYProjectName/MyPipelineName'
- .artifactignore文件内容:
build_scripts/**
- 已尝试操作及日志:
通过CopyFiles@2任务将.artifactignore复制到制品暂存目录,流水线日志显示已识别该文件:
Using .artifactignore file located at: C:\agent\vsts-agent-win-x64-3.232.0\_work\3\a\.artifactignore for globbing 2 files processed.
已补充制品内容截图和Publish Pipeline artifacts阶段的完整日志,请求排查问题所在。
内容的提问来源于stack exchange,提问作者LKo.exp
相关产品推荐
相关产品推荐

