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持续集成

GitLab实现持续集成相关推荐

  1. Gitlab+jenkins持续集成+自动化部署(三)

    搭建gitlab+Jenkins自动化部署 在jenkins上安装插件 Build Authorization Token Root Plugin. Build Authorization Token ...

  2. 基于Docker容器的,Jenkins、GitLab构建持续集成CI

    ** 开发者将代码提交(push)到GitLab后,GitLab通过Hook通知jenkins,jenkins自动从GitLab中获取项目最新的源码进行集成和发布. 基于Docker,创建一个私有Gi ...

  3. Gitlab CI 持续集成的完整实践

    来源:https://dwz.cn/mWyVHoSm 借着公司代码库迁移到私有Gitlab的契机,我接下持续集成的工作,实现了对Python服务端代码的单元测试.静态代码分析和接口测试的持续集成.总体 ...

  4. createprocess失败代码2_DevOPS | 基于sonarqube、jenkins和gitlab的持续集成代码检查

    在持续集成过程中,针对代码的静态检查一般有两个时间点:一是提交代码的时候.二是提交merge request的时候,如果代码检查不通过,则可以直接拒绝此次代码提交或者合并.下面我们介绍下在常见的dev ...

  5. 架构——20——Jenkins+Gitlab实现持续集成——3

    CI&CD: 持续集成注重将各个开发者的工作集合到一个代码仓库中,通常每天会进行几次, 主要目的是尽早发现集成错误,使团队更加紧密结合,更好地协作. 持续交付的目的是最小化部署或发布过程中团队 ...

  6. 持续集成之Jenkins+Gitlab实现持续集成

    项目使用git+jenkins实现持续集成 开始构建  General  源码管理  我们安装的是Git插件,还可以安装svn插件  我们将git路径存在这里还需要权限认证,否则会出现error    ...

  7. CentOS8.1部署Gitlab+Jenkins持续集成(CI/CD)环境之Jenkins安装(二)

    大家好,我是SuieKa,本博文以学习笔记为主,此时此刻我已按捺不住自己的心情将学习搬运到博客上 上手之前,习惯性的多逼逼知识点,尽管各路大神都已经了如指掌了哈哈哈 目录 什么是Jenkins? 安装 ...

  8. GitLab CI持续集成配置方案

    持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地 ...

  9. 持续集成Jenkins+Gitlab实现持续集成

    用户说明 假设node3是程序员的个人电脑,在这台机器上编写代码 ip地址192.168.10.10 Git的安装部署及使用 git config --global user.name 'zzg' # ...

最新文章

  1. 生态环境部:提升5.5亿居民饮用水环境安全保障水平
  2. 转:Bit-Map思想与2-BitMap思想
  3. IO-BufferedInputStream
  4. ecshop flow.php?step=checkout,【原创文章】推荐两种调试ecshop php程序日志记录的方法...
  5. Adobe_Audition消除人声
  6. cordova混合开发流程
  7. NBA Top Shot巨鲸17.5万美元购买的球星卡目前已值2000万美元
  8. 蓝桥杯 ALGO-22算法训练 数的划分
  9. java 图片识别_JAVA识别图片中的文字
  10. SharePoint 报告工具 (SPReport)
  11. 【干货笔记】Generating Question-Answer Hierarchies阅读笔记
  12. android studio打包h5,Android Studio打包生成APK教程
  13. PHP + AJAX实现幸运转盘抽奖
  14. 正则表达式-校验 Ip地址 Mac地址 端口 经纬度 车牌号码
  15. python官方文档学习_Python3.5.2官方文档学习备忘录
  16. PHP 文字生成透明图片之路
  17. js和jquery实现页面跳转的几种方式
  18. 解决ORA-01111, ORA-01110, ORA-01157
  19. python设计函数isleapyear_Python函数
  20. 如何评判刀片服务器性能,刀片服务器优点与刀片服务器缺点

热门文章

  1. 践行社会责任 | 传递爱与温暖 华云数据慰问无锡新吴区爱满园特殊儿童护理院
  2. [FLEX笔记]网络监视器引起的Channel.Security.Error#2048
  3. 卷积神经网络结合水平集方法
  4. 微信PC版浏览器 打不开网页
  5. 台式计算机抬高多少度,电脑垫多高颈椎最舒服_显示器抬高多少厘米合适
  6. Andorid Toast倒计时,自定义显示时间
  7. JavaScript 09 - 函数
  8. 听我讲完redo log、binlog原理,面试官老脸一红
  9. FLO 文件处理方式
  10. 虚拟现实技术知识点总结