gpt4 book ai didi

GitLab - 在 CI 中使用用户名和密码的 Git pull 命令

转载 作者:行者123 更新时间:2023-12-05 04:07:38 25 4
gpt4 key购买 nike

我已经将我的 CI 管道配置为通过 SSH 远程连接到服务器,并使用最新的更改更新那里的 git 存储库。但是它失败了。因为当 CI 运行 git pull 命令时,响应是:“could not read Username for 'https://gitlab.com '”

我的问题是:有没有办法在一个命令中运行包含用户名和密码的 git pull?

我知道最好的方法是将 SSH key 添加到 gitlab 变量中以避免询问用户名和密码,但这对我也不起作用。所以我唯一的选择是提供用户名和密码。

我的 gitlab-ci.yml 文件如下:

deploy_staging:
stage: deploy
before_script:
- mkdir -p ~/.ssh
- echo -e "$DEPLOY_KEY" > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
script:
- ssh ubuntu@example.com "
cd my_Project &&
git pull
"

最佳答案

您的订单有误。当您应该将 ssh 部署 key 添加到执行 CI 作业的环境中时,您应该将其添加到执行 pull 命令的 example.com 环境中。

这就像准备一个带椅子和 table 的房间,然后进入下一个房间并期望您可以坐在另一个房间的椅子上。

您应该按照 Deploy keys 的说明进行操作并将来自 ubuntu@example.com 用户的公钥添加到您的项目部署 key 中。

这应该是让最后一点工作的全部。

注意事项:

您对以下内容的评论:echo -e "$DEPLOY_KEY"> ~/.ssh/id_rsa; ssh ubuntu@example.com"cd myProject && git pull 并没有改变顺序,你仍然把deploy_key添加到你当前的环境中,然后通过ssh进入另一个。

关于GitLab - 在 CI 中使用用户名和密码的 Git pull 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48460198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com