gitlab, gitlab跑步者自动化部署docke

  

一、知识点

  
  

gitlab, gitlab CI/CD相关组件以及介绍

     
      <李> GitLab -基于Git的项目管理软件:   
        <李> GitLab是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务李   李
      <李> gitlab-runner   
        <李> GitLab跑步者是一个开源项目,是GitLab的插件,用于执行.gitlab-ci.yml脚本中的命令李   李
      <李>   

    GitLab CI/CD是GitLab内置的强大工具,允许您将所有连续方法(持续集成,交付和部署)应用于您的软件,而无需第三方应用程序或集成。

      李   <李> GitLab CI/CD工作原理   
        <李>在代码仓库的根目录下去创建.gitlab-ci.yml文件(注意是<代码> .gitlab-ci.yml>   <李> .gitlab-ci.yml文件中需要定义要运行的脚本,定义包含和缓存依赖项,选择要按顺序运行的命令以及要并行运行的命令,定义要部署应用程序的位置等李   <李>每次提交代码,gitlab根据.gitab-ci.yml脚本出发对应的选手,运行脚本命令,脚本被分组到作业中,它们一起组成一个自动化部署流水线李   李
      
  
  

码头工人基础知识

     

二、自动化部署流程

  <人力资源/>   
  

第一步:开发人员将代码上传到代码仓库,gitlab根据gitlab-ci.yml中的命令,触发ci/cd逻辑,通知gitlab-runner进行构建部署
第二步:gitlab-runner根据.gitlab-ci。yml脚本进行代码检测,单元测试
第三步:gitlab-runner根据.gitlab-ci.yml脚本进行构建打包
第四步:gitlab-runner根据.gitlab——ci.yml脚本将代码部署到相应的环境中

     

三,利用gitlab CI/CD自动部署弹簧引导实例讲解

  <人力资源/>   
运维架构流程图
  

 gitlab, gitlab跑步者自动化部署docke

  
gitlab/gitlab跑步者安装
  
  

<强>码头工人搭建gitlab

     

<代码>码头工人运行- d——发布海啸- p 80:80 - p 443:443——名字gitlab重启unless-stopped - v/数据/gitlab/配置:/etc/gitlab - v/数据/gitlab/日志:/var/log/gitlab - v/数据/gitlab/数据:/var/opt/gitlab - v/var/run/docker.sock:/var/运行/码头工人。袜子twang2218/gitlab-ce-zh: 10.5.4

  
      <李>简单说明   
        <李> twang2218/gitlab-ce-zh: 10.5.4:启动的镜像名称,次镜像是gtilab汉化版,镜像地址:李   <李> 22端口:git端口,与本地的SSH端口冲突,我已经将本地SSH默认端口修改成其他的端口   <李> 80/443:gitlab web端口   李
      
  
  

<强>码头工人启动gitlab-runner

     

<代码>运行sudo码头工人- d——名字gitlab-runner重启=总是- v/数据/gitlab-runner/配置:/etc/gitlab-runner - v/var/run/docker.sock:/var/运行/码头工人。袜子gitlab/gitlab-runner: v10.6.0

  

<强> 友情链接:gitlab-runner官网安装指南

  
  

<强> gitlab-runner注册到gitlab中

     
      <李>进入容器:<强> sudo码头工人exec - gitlab-runner bash   
  
      <李>执行注册命令:<强> <代码> gitlab-runner登记   
  

请输入gitlab-ci协调员的URL(例如https://gitlab.com):输入gitlab地址\
的跑步者请输入gitlab-ci令牌:输入gitlab标记
请输入gitlab-ci描述为这个运动员:输入跑步描述信息\
请输入这个选手的gitlab-ci标签(逗号分隔):输入跑步者标签信息\
请输入执行人:ssh,码头工人+机器,docker-ssh +机器,kubernetes,码头工人,相似之处,virtualbox, docker-ssh,外壳:输入跑步者的类型\
请输入图像(如码头工人。ruby: 2.1):(如果选择码头工人需要输入镜像)
 gitlab, gitlab跑步者自动化部署docke

  
  

.gitlab-ci.ym脚本编写

     
 <代码>阶段:
  - - - - - -测试
  —构建
  ——部署
  缓存:
  道路:
  - .m2/变量:
  MAVEN_OPTS:“-Dmaven.repo.local=.m2”
  MAVEN_IMAGE: registry.cn-beijing.aliyuncs.com/qian/prod:maven3-jdk8
  CONTAINER_NAME: daily_report_java
  
  LAN_REPO: registry-vpc.cn-beijing.aliyuncs.com/qian/prod
  WAN_REPO: registry.cn-beijing.aliyuncs.com/qian/prod
  
  DEV_REPO: $ WAN_REPO/dev
  PRED_REPO: $ WAN_REPO/pred
  PROD_REPO: $ LAN_REPO/刺激
  
  测试和构建形象:
  图片:MAVEN_IMAGE美元
  测试阶段:
  脚本:
  - mvn包码头工人:建立q -Dmaven.test。跳过=false -Dspring.profiles。主动声纳=测试:声纳-Dsonar.host.url -Dsonar=http://sonar.allhome.com.cn。登录管理-Dsonar=C苈?admin -Dsonar.projectName=CONTAINER_NAME美元
  标签:
  - - - - - - maven
  registry-vpc.cn-beijing.aliyuncs.com
  脚本:
  - - - - - - echo $版本
  ——码头工人标签$ DEV_REPO: CONTAINER_NAME LAN_REPO美元/qianjia_dev: CONTAINER_NAME美元
  码头工人推LAN_REPO美元/qianjia_dev: CONTAINER_NAME美元
  标签:
  ——docker-run
  registry-vpc.cn-beijing.aliyuncs.com
  脚本:
  ——码头工人标签$ DEV_REPO: CONTAINER_NAME LAN_REPO美元/qianjia_pred: CONTAINER_NAME美元
  码头工人推LAN_REPO美元/qianjia_pred: CONTAINER_NAME美元
  标签:
  ——docker-run
  registry-vpc.cn-beijing.aliyuncs.com
  脚本:
  ——码头工人标签$ DEV_REPO: CONTAINER_NAME LAN_REPO美元/qianjia_prod: CONTAINER_NAME美元
  码头工人推LAN_REPO美元/qianjia_prod: CONTAINER_NAME美元
  标签:
  ——docker-run
  alt=" gitlab, gitlab跑步者自动化部署docke "> 

gitlab, gitlab跑步者自动化部署docke