无法克隆源代码,因为vsts权限

时间:2019-04-25 18:41:39

标签: git docker azure-devops azure-pipelines

我正在尝试一项工作,以使用vsts将Java应用程序部署到容器中

工作将:

  • 将ssh连接到docker vm(使用sudo用户而不是root用户)

  • 从仓库复制代码(使用管理员帐户)

  • 将代码放入docker vm文件夹中,

  • 生成战争文件

  • 将war文件放入tomcat服务器容器下

ssh连接到docker vm步骤后,我的vsts作业显示错误:

TF401019: The Git repository with name or identifier [Git Repository] does not exist or you do not have permissions for the operation you are attempting.

虽然我已经生成了一个公钥并将其放入vsts服务器,但我也无法从vsts克隆项目(显示相同的错误)

有人对我在做什么错有想法吗?

当我从docker vm使用sudo git clone @link to git repo

这样的错误消息:

Your Git command did not succeed.
Details:
    Public key authentication failed.

fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

1 个答案:

答案 0 :(得分:0)

是的,您可以正确地生成公共密钥并将其放入vsts服务器(Azure DevOps) 像Azure DevOps(VSTS)似乎没有您的公共SSH密钥可用于存储库。 您可以在需要克隆存储库的VM上create SSH key pair。 请打开Git Bash控制台工具(或仅输入终端),并在下一个命令中创建SSH密钥,并使用您的Azure DevOps帐户电子邮件:

{ action, indexPath in
            // handle action by updating model with deletion
            print("\(indexPath.row)")
            print("\(self.categories?.count)") //if these two mismatch, that's the problem

            if let categoryForDeletion = self.categories?[indexPath.row] {
                do {
                    try self.realm.write {
                        self.realm.delete(categoryForDeletion)
                    }
                } catch {
                    print("Error deleting the category, \(error)")
                }
            }
        }

输入更改的命令后,按 ENTER 将密钥保存在建议的文件中,然后输入 y 密钥以覆盖已存在的SSH密钥文件。 然后控制台将要求设置密码,只需按两次ENTER按钮使其为空。

下一步是读取公共SSH密钥并将其复制到Azure DevOps安全页面。此命令将输出公钥:

ssh-keygen -C "jamal@fabrikam.com"

然后选择您的公钥并将其复制到剪贴板(没有任何空格)。 最后一步是add the public key to Azure DevOps Services。该链接将向您显示添加位置。 完成这些步骤后,您可以再次尝试使用源代码克隆存储库。