2025年yml文件如何执行(yml文件运行)

yml文件如何执行(yml文件运行)本文详细介绍如何在 Linux 系统使用 Docker 安装 Gitlab Gitlab Runner 并通过一个 SpringBoot 项目来演示 CICD 本文需要掌握一点 Linux 和 Docker 的基础知识和命令 不熟悉的建议先去了解这两块的内容哦 由于服务器的端口可能被占用 所以这里我们改成了其他端口来启动 提示 等待 docker 运行 gitlab 一小段时间后在操作 否则可能出现文件找不到

大家好,我是讯享网,很高兴认识大家。



本文详细介绍如何在Linux系统使用Docker安装Gitlab、Gitlab-Runner,并通过一个SpringBoot项目来演示CICD

本文需要掌握一点Linux和Docker的基础知识和命令,不熟悉的建议先去了解这两块的内容哦

由于服务器的端口可能被占用,所以这里我们改成了其他端口来启动

 

讯享网
提示:等待docker运行gitlab一小段时间后在操作,否则可能出现文件找不到

修改gitlab.yml文件

讯享网

找到如下配置,修改host为你服务的IP或者域名(不能加),修改完毕后保存退出

 

修改gitlab.rb文件

讯享网

找到,默认是被注释的,要打开,并填写暴露出去的,一定要和文件配置的相同,为你启动时指定的,我们这里使用作为端口;最后加上ssh协议下使用的IP和端口(这里的端口是你启动时指定的,我们这里是),最后保存并退出

 

停止并移除之前启动的gitlab

讯享网

重新启动gitlab

这里要将容器端口改为5678

 

等待一段时间,就可以访问了,首次需要更改账户的密码

如果进入登录页发现没有让你修改密码,直接就是账号和密码的输入框的话,需要执行下面的命令更改下的密码

讯享网

做完上面的操作后,就可以去GitLab登陆了

可以在项目中或者项目组中以及全局配置中找到配置的地方,

  • 项目中
    项目中配置的Runner只对当前项目有效
    image.png
    讯享网
    这时候我们展开,就能看到这个设置Runner的区域
    image.png
  • 项目组中
    只对这个项目组内的所有项目生效
    image.png
    这个和在项目中一样,都需要展开,往下拉就能看到手动设置Runner的区域
  • 全局配置
    所有项目都可以一起使用
    image.png
    image.png
    全局配置在右边就能直接看到手动设置Runner的区域
    讯享网

    输入Gitlab实例的地址

    地址是你手动设置Runner区域里面的URL

    讯享网

    输入token

    token是你手动设置Runner区域里面的令牌

    输入Runner的描述

    讯享网

    输入与Runner关联的标签

    标签是为了让后期在CI脚本中指定选择某个或者多个Runner,这里我们设置他的标签为,你们可以设置其他的

    输入Runner的执行器

    由于我们都是基于Docker,所以这里选择执行器为Docker

    讯享网

    设置执行器的版本

    退出容器

    讯享网

    通过以上命令后,就创建成功runner啦,这时候我们去GitLab中我们创建Runner的区域刷新就能看到了
    image.png

    找到配置,修改结果为如下,分别是挂载了宿主机docker的sock文件和Maven的缓存,减少拉取Jar包的时间消耗,其中这块为Maven的Jar包存放地址,左边为宿主机目录,右边为容器内的Jar包存储路径,这个需要根据自己使用的Maven镜像而定

    提示:如何构建Maven镜像请翻到文章末尾
    讯享网

    在配置下方增加一行配置,防止Runner重复拉取镜像

    最后重启Runner

    讯享网

    这里就不演示如何创建项目了,不会SpringBoot的自行去学习,这里只展示文件

    下面脚本中出现了镜像,这块是我们手动构建的Maven镜像,如何构建请前往文章第四部分拓展知识查看

    讯享网

    编写好脚本后,提交代码到master分支,因为我们在CI脚本里只指定了master分支生效,,因为需要拉取基础镜像和jar包
    image.png
    CI脚本执行完毕后,我们可以去runner所在服务器进行查看容器是否启动成功,由于我们项目设置了一个接口,所以我们直接尝试访问接口地址看看是不是正常返回,如果返回了就是执行成功了,没有正常返回的话,就需要自己通过查看日志了
    image.png

建议:,否则可能导致CI执行时间过长,比如CI脚本中运行阶段的基础镜像还有Dockerfile文件里的基础镜像。拉取时间的长短受服务器性能和网络影响。

该项目Demo可以前往GitHub查看

首先我们先找台服务器启动一个Docker registry镜像仓库

 

过了一会后通过浏览器访问,会返回一个空的JSON,这是因为我们还没推送镜像上去。

在Gitlab中开启Docker镜像仓库,可以直接通过Gitlab中的用户项目权限进行镜像权限控制,非常方便快捷。首先执行命令编辑配置文件,然后将和替换为你的镜像仓库地址,、修改为对应的地址和IP

讯享网

配置完刷新配置

 

这时候我们随便找到一个项目,点进去查看一下容器库
image.png

右边的就是如何通过docker提交镜像到该项目了

提示:由于我们这边没有配置HTTPS,所以需要给Docker增加如下配置,需要登陆镜像仓库的机子都需要给配上,我们这里是通过runner去打包和启动项目,那么就需要在runner所在服务器的docker进行配置了
讯享网

最终的效果如下第一行
image.png

配置好后重启Docker

 

  • Dockerfile
    讯享网
  • Maven配置文件(settings.xml)

    两个文件创建好之后,通过控制台进入到该目录,尝试构建镜像并上传,本文直接采用GitLab开启Docker镜像仓库,因此这里,我们先去Gitlab创建一个叫Maven的项目,然后查看他的容器库
    image.png

依次执行框框里的命令,这里需要配置docker镜像仓库地址到你要执行这个命令的机子哦,如果你是在本地,那么就是给本地电脑的docker加上配置了
image.png

讯享网

执行完毕后我们回到Gitlab查看一下,这时候就有我们推送的镜像了
image.png

小讯
上一篇 2025-05-10 15:55
下一篇 2025-04-24 19:11

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/171911.html