栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

gitlab-ci模板(maven打包及上传git仓库)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

gitlab-ci模板(maven打包及上传git仓库)

stages:
  - build
  - package

cache:
  paths:
  #  maven下载三方依赖的缓存目录
  - .m2/repository/

variables:
  MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"
  # 公司私有的镜像仓库账号
  S_USERNAME: "xxx"
  # 公司私有的镜像仓库密码
  S_PASSWORD: "xxx"
  # 要推送的整个镜像名和版本号
  MY_IMAGE: "xxx.xxx.com:8081/xxx/xxx:1.0.0"

build-job:
  stage: build
  image: maven:3.6.3-jdk-8-openj9
  script:
    # MVN_SETTINGS_XML变量在GitLab的设置=>CI/CD=>变量中定义,值就是整个settings.xml的内容(文本),变量类型设置成了"文件"
    - mvn package -s ${MVN_SETTINGS_XML} ${MAVEN_OPTS}
  only:
    # 只对master分支运行job
    - master
  timeout: 30 min
  artifacts:
    expire_in: 1 week
    paths:
      # 可以指定到某个文件(这里指定到了jar包),或者整个target/目录
      - target/xxx.jar

package-job:
  stage: package
  image: docker:19.03.12-dind
  variables:
    DOCKER_HOST: tcp://docker:2375
    DOCKER_TLS_CERTDIR: ""
  services:
    - name: docker:19.03.12-dind
      command:
        # 阿里的镜像仓库
        - --registry-mirror=https://registry.cn-hangzhou.aliyuncs.com
        # 公司私有的镜像仓库
        - --insecure-registry=xxx.xxx.com:8081
  only:
    - master
  timeout: 30 min
  before_script:
    #- mkdir -p $HOME/.docker
    #- echo $DOCKER_AUTH_CONFIG > $HOME/.docker/config.json
    - docker info
  script:
    - docker build . -t ${MY_IMAGE}
    # 登录公司私有镜像仓库,也可以参考before_script,向.docker/config.json写入正确的token,就可以免除docker login这步
    - docker login xxx.xxx.com:8081 -u ${S_USERNAME} -p ${S_PASSWORD}
    - docker push ${MY_IMAGE}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/859654.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号