如何从 bitbucket 管道中的私人回购中提取?
How to pull from private repo in a bitbucket pipeline?
我有一个运行良好的 bitbucket 管道,但现在我需要从一个私有存储库中提取一个项目,其中包含我的 composer.json.
中所需的包
当我在管道中安装 composer 时,它停止并出现此错误
Failed to execute git clone --no-checkout 'git@bitbucket.org:company/package.git' [...]
Cloning into '/opt/atlassian/pipelines/agent/build/vendor/company/package'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
管道没有定义任何 SSH 密钥,因此不允许拉取,但我如何定义它,因为它是临时的?
或者我应该另外定义需求?
- 将部署密钥(public SSH 密钥)添加到私有存储库
- 将该密钥对应的私钥(Base64 编码)作为环境变量添加到具有 Pipeline 的 repo 中。理想情况下,这应该被标记为受保护,这将隐藏它。
- 在管道中使用环境变量(Base64 解码)。通常,这意味着将其写入用户的
.ssh
目录。
这应该足够了 运行。
此外,我刚刚看到现在(也许这是新的,但我不确定)一个新页面“设置”>“管道”>“SSH 密钥”用于管理管道 SSH 密钥。这样,您甚至不需要将私钥添加到您正在使用的 docker 图像中。但是目前我还没有用过,所以我也不好说什么。
我有一个运行良好的 bitbucket 管道,但现在我需要从一个私有存储库中提取一个项目,其中包含我的 composer.json.
中所需的包当我在管道中安装 composer 时,它停止并出现此错误
Failed to execute git clone --no-checkout 'git@bitbucket.org:company/package.git' [...]
Cloning into '/opt/atlassian/pipelines/agent/build/vendor/company/package'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
管道没有定义任何 SSH 密钥,因此不允许拉取,但我如何定义它,因为它是临时的?
或者我应该另外定义需求?
- 将部署密钥(public SSH 密钥)添加到私有存储库
- 将该密钥对应的私钥(Base64 编码)作为环境变量添加到具有 Pipeline 的 repo 中。理想情况下,这应该被标记为受保护,这将隐藏它。
- 在管道中使用环境变量(Base64 解码)。通常,这意味着将其写入用户的
.ssh
目录。
这应该足够了 运行。
此外,我刚刚看到现在(也许这是新的,但我不确定)一个新页面“设置”>“管道”>“SSH 密钥”用于管理管道 SSH 密钥。这样,您甚至不需要将私钥添加到您正在使用的 docker 图像中。但是目前我还没有用过,所以我也不好说什么。