代码之家  ›  专栏  ›  技术社区  ›  Vaks

将我的更改从gitlab拉到远程服务器的正确方法是什么?

  •  0
  • Vaks  · 技术社区  · 2 年前

    假设我在GitLab中有一些私人项目。

    要从本地计算机访问此项目,我是:

    1. 生成ssh密钥对。
    2. 将公钥添加到我的帐户(mygitlab.com/-/profile/keys)。
    3. git clone git@mygitlab.com:mygroup/myproject.git 在本地机器上。
    4. 工作

    然后我想在远程生产服务器上部署我的项目 1.2.3.4 .理想情况下,我只想 ssh 到该服务器中,克隆我的项目,然后执行 git pull 每次我想更新生产部署时。但我无法从生产服务器访问我的存储库,因为中没有ssh密钥 1.2.3.4:/home/www-data/.ssh/ ,所以如果我想 git clone git pull 我明白 Permission denied 错误

    在这种情况下我该怎么办?

    在我看来,我应该有能力在生产服务器上生成ssh密钥对,并将公钥添加到我的项目中。但并没有办法将公钥和项目联系起来,只能和帐户联系起来。我不想将生产服务器的公钥与我的帐户关联,因为这在方法上是错误的——我们团队中有很多开发人员,生产服务器与我没有任何特殊的关联。

    1 回复  |  直到 2 年前
        1
  •  1
  •   KamilCuk    2 年前

    在这种情况下我该怎么办?

    就像你说的,你应该 generate ssh keypair on production server and add public key to my project 转到存储库,然后在左侧设置->存储库,然后在中间有“部署密钥”。将公钥粘贴到部署密钥中,然后选择一个唯一的名称。之后,您可以使用该密钥进行克隆。还有文件 https://docs.gitlab.com/ee/user/project/deploy_keys/