如何在CI / CD构建过程中在Azure Pipelines中使用私有软件包

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

我正在使用Azure CI / CD管道进行Flutter构建。在我的Pubspec yaml文件中,我的项目具有私有依赖关系,并且代码托管在相同的Azure devops项目中,但位于不同的存储库中。在构建期间(即Flutter Packages得到),它给我错误提示身份验证失败?。我尝试使用PAT令牌,在颤振构建任务之前,我使用git命令设置了该令牌,但是并没有解决问题。谁能帮帮我?

flutter azure-devops azure-pipelines-build-task
1个回答
0
投票

我愿意向人们展示更好的方法,但是这些是我不久前解决此问题所采取的步骤。

假设您在azsh devops上使用git over ssh引用pubspec.yaml中的包,>

  repo_name:
    git:
      ref: 'tag or other identifier'
      url: [email protected]:v3/you/project/repo_name

  • 在计算机上生成新的ssh密钥对。
  • 将私有密钥上传到azure devops上的库安全文件部分。
  • 使用前面步骤中生成的密钥对并参考上载到安全文件库的私钥,将install ssh密钥任务添加到您的azure管道构建中。 link
  • 将公共密钥上传到您的公共密钥列表中。 (这一步我不是100%肯定是必要的,但是我起初是这样做的,并且一切正常,所以我没有做任何改动就删除了它)
  • 因此,在我的azure-pipelines.yaml中,安装ssh密钥步骤看起来像这样,其中id_rsa是我的安全文件中私钥的名称。

          - task: InstallSSHKey@0
            inputs:
              knownHostsEntry: 'vs-ssh.visualstudio.com, ...etc'
              sshPublicKey: 'ssh-rsa ...etc'
              sshKeySecureFile: id_rsa

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