我正在尝试一项工作,以使用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.
答案 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。该链接将向您显示添加位置。 完成这些步骤后,您可以再次尝试使用源代码克隆存储库。