本文详细介绍如何在Linux系统使用Docker安装Gitlab、Gitlab-Runner,并通过一个SpringBoot项目来演示CICD
本文需要掌握一点Linux和Docker的基础知识和命令,不熟悉的建议先去了解这两块的内容哦
由于服务器的端口可能被占用,所以这里我们改成了其他端口来启动
提示:等待docker运行gitlab一小段时间后在 操作,否则可能出现文件找不到
修改gitlab.yml文件
找到如下配置,修改host为你服务的IP或者域名(不能加),修改完毕后保存退出
修改gitlab.rb文件
找到,默认是被注释的,要打开,并填写暴露出去的,一定要和文件配置的相同,为你启动时指定的,我们这里使用作为端口;最后加上ssh协议下使用的IP和端口(这里的端口是你启动时指定的,我们这里是),最后保存并退出
停止并移除之前启动的gitlab
重新启动gitlab
这里要将容器端口改为5678
等待一段时间,就可以访问了,首次需要更改账户的密码
如果进入登录页发现没有让你修改密码,直接就是账号和密码的输入框的话,需要执行下面的命令更改下的密码
做完上面的操作后,就可以去GitLab登陆了
可以在项目中或者项目组中以及全局配置中找到配置的地方,
- 项目中
项目中配置的Runner只对当前项目有效
这时候我们展开,就能看到这个设置Runner的区域
- 项目组中
只对这个项目组内的所有项目生效
这个和在项目中一样,都需要展开,往下拉就能看到手动设置Runner的区域
- 全局配置
所有项目都可以一起使用
全局配置在右边就能直接看到手动设置Runner的区域
输入Gitlab实例的地址
地址是你手动设置Runner区域里面的URL
输入token
token是你手动设置Runner区域里面的令牌
输入Runner的描述
输入与Runner关联的标签
标签是为了让后期在CI脚本中指定选择某个或者多个Runner,这里我们设置他的标签为,你们可以设置其他的
输入Runner的执行器
由于我们都是基于Docker,所以这里选择执行器为Docker
设置执行器的版本
退出容器
找到配置,修改结果为如下,分别是挂载了宿主机docker的sock文件和Maven的缓存,减少拉取Jar包的时间消耗,其中这块为Maven的Jar包存放地址,左边为宿主机目录,右边为容器内的Jar包存储路径,这个需要根据自己使用的Maven镜像而定
提示:如何构建Maven镜像请翻到文章末尾
在配置下方增加一行配置,防止Runner重复拉取镜像
最后重启Runner
这里就不演示如何创建项目了,不会SpringBoot的自行去学习,这里只展示文件
下面脚本中出现了镜像,这块是我们手动构建的Maven镜像,如何构建请前往文章第四部分拓展知识查看
编写好脚本后,提交代码到master分支,因为我们在CI脚本里只指定了master分支生效,,因为需要拉取基础镜像和jar包
CI脚本执行完毕后,我们可以去runner所在服务器进行查看容器是否启动成功,由于我们项目设置了一个接口,所以我们直接尝试访问接口地址看看是不是正常返回,如果返回了就是执行成功了,没有正常返回的话,就需要自己通过查看日志了
建议:,否则可能导致CI执行时间过长,比如CI脚本中运行阶段的基础镜像还有Dockerfile文件里的基础镜像。拉取时间的长短受服务器性能和网络影响。
该项目Demo可以前往GitHub查看
首先我们先找台服务器启动一个Docker registry镜像仓库
过了一会后通过浏览器访问,会返回一个空的JSON,这是因为我们还没推送镜像上去。
在Gitlab中开启Docker镜像仓库,可以直接通过Gitlab中的用户项目权限进行镜像权限控制,非常方便快捷。首先执行命令编辑配置文件,然后将和替换为你的镜像仓库地址,、修改为对应的地址和IP
配置完刷新配置
右边的就是如何通过docker提交镜像到该项目了
提示:由于我们这边没有配置HTTPS,所以需要给Docker增加如下配置,需要登陆镜像仓库的机子都需要给配上,我们这里是通过runner去打包和启动项目,那么就需要在runner所在服务器的docker进行配置了
配置好后重启Docker
- Dockerfile
- Maven配置文件(settings.xml)
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/79295.html