GitLab实现持续集成

  1. linux上

  •    Dockerfile文件

  • FROM gitlab/gitlab-runner:v11.0.2
    MAINTAINER 1906171836@qq.com

    # 修改软件源
    RUN echo 'deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse' > /etc/apt/sources.list && \
        echo 'deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse' >> /etc/apt/sources.list && \
        echo 'deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse' >> /etc/apt/sources.list && \
        echo 'deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse' >> /etc/apt/sources.list && \
        apt-get update -y && \
        apt-get clean

    # 安装 Docker
    RUN apt-get -y install apt-transport-https ca-certificates curl software-properties-common && \
        curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add - && \
        add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" && \
        apt-get update -y && \
        apt-get install -y docker-ce
    COPY daemon.json /etc/docker/daemon.json

    # 安装 Docker Compose
    WORKDIR /usr/local/bin
    COPY docker-compose /usr/local/bin/docker-compose
    RUN chmod +x docker-compose

    # 安装 Java
    RUN mkdir -p /usr/local/java
    WORKDIR /usr/local/java
    COPY jdk-8u321-linux-x64.tar.gz /usr/local/java
    RUN tar -zxvf jdk-8u321-linux-x64.tar.gz && \
        rm -fr jdk-8u321-linux-x64.tar.gz

    # 安装 Maven
    RUN mkdir -p /usr/local/maven
    WORKDIR /usr/local/maven
    #RUN wget https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz
    COPY apache-maven-3.8.4-bin.tar.gz /usr/local/maven
    RUN tar -zxvf apache-maven-3.8.4-bin.tar.gz && \
        rm -fr apache-maven-3.8.4-bin.tar.gz
    # COPY settings.xml /usr/local/maven/apache-maven-3.8.4/conf/settings.xml

    # 配置环境变量
    ENV JAVA_HOME /usr/local/java/jdk1.8.0_321
    ENV MAVEN_HOME /usr/local/maven/apache-maven-3.8.4
    ENV PATH $PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

    #如果不行的话就执行 vim ~/.bashrc  在此文件末尾下添加以下配置,然后在执行 source ~/.bashrc
    #export JAVA_HOME=/usr/local/java/jdk1.8.0_321
    #export MAVEN_HOME=/usr/local/maven/apache-maven-3.8.4
    #export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH


    WORKDIR /

  • daemon.json文件

  • {
      "registry-mirrors": ["https://mjaubtgm.mirror.aliyuncs.com"],
      "insecure-registries": [
        "192.168.31.147:5000"
      ]
    }

  •  
  • docker-compose.yml文件

  • version: '3'
    services:
      gitlab-runner:
        build: environment
        restart: always
        container_name: gitlab-runner
        privileged: true
        volumes:
          - /usr/local/docker/runner/config:/etc/gitlab-runner
          - /var/run/docker.sock:/var/run/docker.sock

  • 执行docker exec -it gitlab-runner gitlab-runner register

  • 剩下根据此文件操作GitLab实现持续集成_Haolarn-CSDN博客_gitlab持续集成

如果再集成代码(SonarQube)检测功能:

GitLab持续集成持续部署(CI&CD)_安澜公子的博客-CSDN博客_gitlab持续集成

2:客户端

  • 目录结构(三个重要文件)

  •  .gitlab-ci.yml

  • stages:
  • - package
  • - clean
  • package_maven:
  • stage: package
  • only:
  • - master
  • script:
  • - pwd
  • - /usr/local/maven/apache-maven-3.8.4/bin/mvn clean package -Dmaven.test.skip=true
  • - cp target/springbootAdmin-0.0.1-SNAPSHOT.jar docker
  • - cd docker
  • - docker build -t 192.168.31.147:5000/springboot-admin .
  • - docker tag 192.168.31.147:5000/springboot-admin 192.168.31.147:5000/springboot-admin:520
  • - docker push 192.168.31.147:5000/springboot-admin:520
  • - docker-compose up -d
  • clean_maven:
  • stage: clean
  • script:
  • #清除target目录
  • - /usr/local/maven/apache-maven-3.8.4/bin/mvn clean
  • #清除虚悬镜像
  • - docker rmi $(docker images -q -f dangling=true)

  • Dockerfile文件

  • FROM openjdk:8-jre

    MAINTAINER 1906171836@qq.com

    ENV TARGET_JAR="0.0.1-SNAPSHOT"

    RUN mkdir /app

    COPY springbootAdmin-${TARGET_JAR}.jar /app/app.jar

    CMD java -Xrs -Xmx1024m -jar /app/app.jar

    EXPOSE 9008

  • docker-compose.yml文件

  • version: '3'

    services:

    springboot-admin:

    image: 192.168.31.147:5000/springboot-admin:520

    container_name: springboot-admin

    ports:

    - 9008:9008

  • 最后提交gitlab自动部署

GitLab实现持续集成_Haolarn-CSDN博客_gitlab持续集成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小贞-10086

世纪的浪漫,最不过——雨落星辰

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值