一、知识点
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跑步者安装
<强>码头工人搭建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-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