不使用管理员凭据的Windows Machine File Copy任务

问题描述 投票:0回答:1

我想将构建工件从$(System.ArtifactsDirectory)复制到远程Windows Server 2016上的共享文件夹。为此,我正在使用“ Windows Machine File Copy”任务。当我使用这个时它有效-

- task: WindowsMachineFileCopy@2
displayName: 'Copy build artifacts'
inputs:
  SourcePath: '$(System.ArtifactsDirectory)/*'
  MachineNames: 'targetHostname'
  AdminUserName: 'domain\administrator'
  AdminPassword: '******'
  TargetPath: 'D:\sharedfolder'

但是我不想使用您在上面看到的管理员凭据。我读了MS doco- https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/windows-machine-file-copy?view=azure-devops

Admin凭据参数AdminUserNameAdminPassword是可选的。但是我删除它们,复制任务失败。因此,我的要求是-我们不想使用用户名和密码。相反,我们要使用Azure服务主体。有没有办法可以使用Service Principal而不是用户名和密码来复制文件?

azure-devops azure-pipelines-release-pipeline file-copying
1个回答
0
投票

所以我的问题是-如何在不使用任何凭据的情况下复制文件?

如果要在不使用任何凭据的情况下复制文件,则意味着您需要设置任何人都可以访问的目标文件夹的权限。

显然,这是不安全的,我们不建议您这样做。如果您有理由坚持这样做并且可以确保信息安全,则可以参考以下方式。

您可以将文件夹共享给远程计算机中的每个人:

enter image description here

然后,我们可以只使用复制任务将构建工件从$(System.ArtifactsDirectory)复制到远程Windows Server 2016上的共享文件夹:

enter image description here

我在远程Windows Server 2012上对其进行了测试,并且工作正常。

希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.