我收到了一封来自 GitHub 的电子邮件,内容如下:
您最近使用 git/2.24.3 (Apple Git-128) 使用密码通过 git 访问 username/repo 中的存储库。使用 Git 密码的基本身份验证已被弃用,很快将不再有效。访问https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/了解有关建议的解决方法和删除日期的更多信息。
因此,对于推送到 GitHub 的 git 提交,我需要使用另一种标准命令行方法,这应该不是问题。
但我想知道这会影响部署密钥吗?例如,在已经运行了几个月或几年的自动化流程中——我们应该为变化做好准备吗?
我已经查看了博客文章,并注意到还有很多时间(弃用发生在 2021 年 8 月 13 日),但了解对部署密钥的任何影响以便做好准备非常重要。
使用 AWS CodeBuild,您可以将 GitHub 定义为源。如果您的回购是私有的,您可以传递个人令牌。我已经构建了一个 CodeBuild 过程并确认这有效。
我想要做的不是使用个人令牌,而是使用 GitHub 部署密钥对私有存储库进行身份验证。我已经在 GitHub 中设置了 Deploy Key。如何在 AWS CodeBuild 控制台或 YAML 脚本中进行配置?
我想在同一个 VPS 中部署两个项目。我已成功部署一个项目并将部署密钥添加到 GitLab 存储库。但是当我尝试将相同的 ssh 密钥添加到其他存储库部署密钥时,它说:
指纹已被获取,部署密钥项目部署密钥指纹已被获取
这里发生了什么?是否可以将相同的密钥添加到两个项目?
请提供任何建议。
我想使用诗歌将多个私有 Github 存储库作为 python 包安装到我的存储库中。这在poetry install本地运行时效果很好,因为我将公共 SSH 密钥添加到 Github,这允许诗歌访问私有存储库。问题是我想在我的 CI/CD 管道中安装这些相同的私有包,为此我需要为每个 repo 添加一个部署密钥。正确的部署密钥需要用于正确的存储库,为了使其工作,我需要使用以下格式的一些别名设置一个配置(我实际上还没有知道这是否真的有效) ):
// /.ssh/config
Host repo-1.github.com
IdentityFile ~/.ssh/repo-1-deploy-key
Host repo-2.github.com
IdentityFile ~/.ssh/repo-2-deploy-key
Run Code Online (Sandbox Code Playgroud)
凡repo-1和repo-2是私有仓库我需要安装的名称。在本地运行时,pyproject.toml需要按以下格式设置包:
// pyproject.toml
...
[tool.poetry.dependencies]
repo-1 = { git = "ssh://git@github.com/equinor/repo-1.git" }
repo-2 = { git = "ssh://git@github.com/equinor/repo-2.git" }
...
Run Code Online (Sandbox Code Playgroud)
因为这将允许开发人员在没有任何配置的情况下安装软件包(假设他们有权访问)。然而,对于 CI/CD 管道,URL 需要匹配 SSH 配置文件中的别名,因此它需要看起来像这样:
// pyproject.toml
...
[tool.poetry.dependencies]
repo-1 = { git = "ssh://git@repo-1.github.com/equinor/repo-1.git" }
repo-2 = { git = "ssh://git@repo-2.github.com/equinor/repo-2.git" }
...
Run Code Online (Sandbox Code Playgroud)
现在,我似乎陷入困境的是如何在同一个 pyproject …
我使用此处概述的方法成功为私有存储库创建了部署密钥。
现在,当我运行时,git clone repo_url我希望它能够克隆?但事实并非如此。出现一个弹出窗口,需要 git 凭据(标准电子邮件/密码1)。我哪里错了?我可以cat my_rsa_key看到它已成功创建(保存到默认位置)。
也许我错过了一些东西,或者我是否必须使用不同的命令克隆 repo?
1这首先违背了拥有部署密钥的目的
我在 Windows Server 2019