分享使用gitlab、docker实现CICD,这里使用SpringBoot单体应用为例,如使用微服务,或多个SpringBoot可以参考自行配置,如有问题欢迎指正、交流
文章目录
前言
当我们写完代码,测试完成之后,需要发布时,常规情况手动打包项目,放到服务器上面,替换程序,重启服务,完成部署。
使用CICD,当我们写完代码,测试完成之后,提交代码到自己的代码库中(gitlab),这时就会触发CICD,就能帮助我们自动进行部署操作,相当于我们提交完代码,只需要等到程序部署完成后,验证程序是否正常启动起来就可以了
提示:以下是本篇文章正文内容,下面案例可供参考
说明:在本文中,CI/CD中的变量,使用驼峰命名。gitlab-ci.yml中的变量使用全大写命名。文中所有地址、命名均为演示,请根据情况设置成自己的
一、环境准备
1、准备一台虚拟机,这里以centos7为例
2、准备CICD所需软件(需自行安装)
软件 | 说明 |
---|---|
git | 必须 |
gitlab-runner | 必须 |
docker | 必须 |
maven | 必须 |
node | node项目需要 |
minio | minio客户端 |
二、相关设置
1、gitlab-runner注册
1.1、查看runner注册信息
打开gitlab管理页面,在 “组->Settings->CI/CD->Runners->Expand"
查看和操作
1.2、在虚拟机上注册Runner
2、CI/CD变量配置
在job运行时,可能会有一些变量不方面明文显示在.gitlab-ci.yml文件中,例如账号密码,可以通过CI提供的variable进行配置,如下图
三、代码改造
1、项目构建
首先在项目中新建如下三个文件:
1、.gitlab-ci.yml
注:project-build.artifacts:保存部署所需资源
2、Dockerfile
3、docker-compose.yml
四、常见问题
1、单服务和多服务部署示例
2、Settings中显示为不可用、提示 New runner.Has not connected yet
原因:gitlab-runner刚注册完,服务器与gitlab-runner的协调尚未完成
解决方案:在服务器上执行 gitlab-runner verify。或者 等待几分钟
3、job执行失败、提示 我们信任您已经从系统管理员那里了解了日常注意事项
原因:未使用root用户安装gitlab-runner
解决方案:以root用户安装gitlab-runner。
安装步骤:卸载gitlab-runner(gitlab-runner uninstall),指定root用户(gitlab-runner install --user root),重启gitlab-runner(gitlab-runner restart)
总结
单应用实现CICD部署就完成了,如果运行不成功,请多多检查配置文件,实现CICD的时候,有很多问题都是配置文件错误导致的