您好,能不能通过企业公钥去进行 git clone 私仓gitlab中的的代码依赖呢?[阿里云云效]

您好,在 “镜像构建并推送至阿里云镜像仓库企业版” 这个动作的过程中,docker build ,能不能通过企业公钥去进行 git clone 私仓gitlab中的的代码依赖呢?
git config –global url.”http://${user}:${password}@git.cht-group.net”
可以通过设置git config 方式进行更新,但是这个需要填写用户名已经密码,我希望可以通过公钥密钥方式来处理

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
3 条回复 A 作者 M 管理员
  1. 可以使用SSH密钥进行身份验证,而无需在命令行中输入用户名和密码。首先,确保您已经将公钥添加到GitLab的SSH密钥设置中。然后,您可以使用以下命令克隆私有仓库:

    git clone git@git.cht-group.net:${user}/${repository}.git

    其中,${user}是您的GitLab用户名,${repository}是您要克隆的仓库名称。

  2. 在镜像构建并推送至阿里云镜像仓库企业版过程中,需要拉取私有 GitLab 仓库中的代码依赖时,可以利用 ssh key 方式免去手动输入用户名和密码的过程。
    首先要创建 ssh key,并将其上传至您的 GitLab 账户。具体步骤如下:

    1. 在终端中使用 ssh-keygen -t rsa -b 2048 创建新的 ssh key;
    2. 将公钥复制到 ~/.ssh/id_rsa.pub 中,并在 GitLab 中将其粘贴到 Settings > SSH Keys 页面;
    3. 在 ~/.ssh/config 中创建一个新的 ssh 公钥别名,用于指向私钥;
    4. 更新 Dockerfile 中的 RUN 指令,使用新的别名来克隆远程仓库,如 RUN apt-get install openssh-client && eval $(ssh-agent -s) && ssh-add ~/.ssh/id_rsa && git clone ${ssh_url}
  3. 您在本地构建成功的,可以放到流水线上呢,但是流水线的构建参数里不支持空格和换行,您需要提前把公钥放置在镜像基础环境中 此回答来自“云效答疑服务群”

  4. 您的问题是关于如何使用企业的公共密钥而不是凭据来克隆私有GitLab存储库中包含的代码依赖项。
    要开始操作,请确保已在您的本地计算机上安装了SSH,并已创建了一个SSH密钥对。您可以使用ssh-keygen命令生成一个新的密钥对。
    接下来,您需要将公共SSH密钥添加到GitLab帐户中。具体步骤如下:

    1. 登录到您的GitLab帐户。
    2. 单击个人头像图标,然后选择“Settings”选项。
    3. 在左侧菜单栏中,单击“SSH Keys”。
    4. 点击“New SSH Key”,在Title框中输入任何描述性名称,在Key文本框中粘贴您的SSH公钥内容。
    5. 单击“Add Key”按钮保存更改。
      此时,您应该能够在不输入任何凭据的情况下通过SSH克隆您的GitLab项目。
      为了在Dockerfile中使用这个SSH密钥,您可以将其内容复制到环境变量中。例如,假设您的公钥名为id_rsa.pub,您可以将其添加到Dockerfile中的以下行:
      ARG SSH_KEY="content_of_your_ssh_key_file"RUN mkdir -p ~/.ssh && echo "$SSH_KEY" > ~/.ssh/id_rsa.pub && chmod 600 ~/.ssh/id_rsa.pub

    这将在构建过程中将SSH密钥复制到容器中,从而允许您通过SSH连接到私有GitLab存储库。
    最后,您可以在Dockerfile中使用RUN git clone ssh://git@git.cht-group.net:命令来从您的私有GitLab存储库中获取代码依赖项。