如何使用组级部署令牌而不是部署密钥构建 gitlab maven 发布阶段

问题描述 投票:0回答:0

我正在使用 gitlab 并使用项目级别的部署密钥构建了 Maven 发布阶段。现在我已经在组级别创建了一个部署密钥,并获得了该部署令牌的用户名/密码。如何使用部署令牌的用户名和密码替换部署密钥以进行身份验证并执行 git 操作?

以下脚本工作正常,如何修改以下脚本以使用部署令牌?

release-job:
  stage: release  
  when: manual
  before_script:       
    - mkdir -p ~/.ssh/
    - cp $DEPLOY_PRIVATE_KEY ~/.ssh/id_rsa && chmod 600 ~/.ssh/id_rsa
    - ssh-keyscan -H gitlab.com >> ~/.ssh/known_hosts
    - apt-get update && apt-get install -y git
    - git config --global user.email $GITLAB_USER_EMAIL
    - git config --global user.name $GITLAB_USER_ID
    - git checkout -B $CI_COMMIT_REF_NAME
  script:
    - mvn -Dresume=false release:prepare release:perform -s $CI_PROJECT_DIR/mvn-settings.xml

mvn-settings.xml 看起来像:

<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">
  <servers>
    <server>
      <id>gitlab-maven</id>
      <configuration>
        <httpHeaders>
          <property>
            <name>Job-Token</name>
            <value>${CI_JOB_TOKEN}</value>
          </property>
        </httpHeaders>
      </configuration>
    </server>
  </servers>
</settings>
maven gitlab gitlab-ci cicd maven-release-plugin
© www.soinside.com 2019 - 2024. All rights reserved.