GitLab CI/CD maven项目加速

GitLab CI/CD maven项目加速

GitLab CI/CD 在构建 maven项目的时候发现很慢,经过查询大量资料和尝试,终于发现了镜像加速的方法,记录一下

参考资料:
https://oomake.com/question/10042383
https://gitlab.com/gitlab-org/gitlab-foss/-/issues/15167

image: docker:latest

variables:
  IMAGE_NAME_HZ: "${REGISTRY_HZ}/${CI_PROJECT_NAMESPACE}-${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME}"
  IMAGE_NAME_ZJK: "${REGISTRY_ZJK}/${CI_PROJECT_NAMESPACE}-${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME}"
  BIN_NAME: "fdd"

cache:
  paths:
    - .m2/

stages:
  - package
  - build

package:
  image: maven:3.6-jdk-8-alpine
  tags:
    - public-runner001
  stage: package
  script:
    - echo '<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
            <localRepository>/cache/.m2</localRepository>
            <mirrors>
              <mirror>
                <id>nexus-aliyun</id>
                <mirrorOf>*</mirrorOf>
                <name>Nexus aliyun</name>
                <url>http://maven.aliyun.com/nexus/content/groups/public</url>
              </mirror>
            </mirrors>
            </settings>' > $HOME/.m2/settings.xml
    - mvn clean install -Dmaven.test.skip=true
  artifacts:
    paths:
      - target/*.jar    # 将maven构建成功的jar包作为构建产出导出,可在下一个stage的任务中使用


build:
  stage: build
  tags:
    - public-runner001
  image: docker:stable
  services:
    - docker:dind
  only:
    - master
    - tags
    - merge_requests
  dependencies:
    - package
  script:
    # 杭州
    - docker login -u ${CI_USER} -p ${CI_PASSWD} ${REGISTRY_HZ}
    - docker build . -t ${IMAGE_NAME_HZ}
    - docker push ${IMAGE_NAME_HZ}
    # 张家口
    - docker login -u ${XD_CI_USER} -p ${CI_PASSWD} ${REGISTRY_ZJK}
    - docker build . -t ${IMAGE_NAME_ZJK}
    - docker push ${IMAGE_NAME_ZJK}

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值