目前有CI/CD有很多方法,jenkins、docker、k8s等;常见的搭配有,gitlab+jenkins,gitlab+jenkins+docker+k8s。但是这些搭配部署起来都会引入有jenkins的参与。jenkins进行CI/CD.那么为了部署比较简单,其实gitlab本身就能完成整个CI/CD的功能。
在项目下的【设置】-【CI/CD】
重点关注一下CI/CD配置文件,默认为(.gitlab-ci.yml)为项目根目录的文件,路径可以自定义选择。
Runner 配置是去确保gitlab执行流水线主要工具。Runner 用于接收和执行GitLab的CI/CD作业的进程。
可参考官方网站Install GitLab Runner | GitLab
安装gitlab-runner方式有linux,Docker,等系统。但是觉得linux安装模式在配置使用方面都比较便捷。
Install GitLab Runner manually on GNU/Linux | GitLab linux下官方安装文档;
安装好gitlab之后需要配置执行gitlab-runner的用户,已经工作目录
sudo gitlab-runner install --user=用户名 --working-directory=/path 工作目录sudo gitlab-runner start
runner安装和启动好后,就可以注册runner了;
gitlab-runner register
会提示输入gitlab url
将runner中网址和注册令牌依次复制填写即可。
注册成功后需要里选择runner执行的执行器
这边比较倾向于shell,直接填写shell就可以了。
完成以上操作就可以在gitlab中runner中看到已经注册的runner了。
但是这时看到的runner还未链接,需要将gitlab 校验一下和重启一下
gitlab-runner verifyRuntime platform arch=amd64 os=linux pid=27533 revision=5316d4ac version=14.6.0Running in system-mode.Verifying runner... is alive runner=NPUkiLky
就能看到runner是alive的。
晚上以上操作基本上完成了runner的配置。这里需要注意是默认的runner只能对打了标签的项目进行使用。所以需要修改一下runner的配置让对所有状态下项目使用。点击runner中编辑按钮即可跳转到下面页面。
对【运行未标记的作业】打钩即可。
这样上面的runner即可在本项目中使用了。
也可以将runner共享到本组得项目中
点击创建流水线,可以编写 构建脚本,执行内部脚本。在【script】下面编写shell脚本或执行自己写shell脚本命令。
stages: # List of stages for jobs, and their order of execution - build - test - deploybuild-job: # This job runs in the build stage, which runs first. stage: build script: - echo "Compiling the code..." - echo "Compile complete."unit-test-job: # This job runs in the test stage. stage: test # It only starts when the job in the build stage completes successfully. script: - echo "Running unit tests... This will take about 60 seconds." - sleep 60 - echo "Code coverage is 90%"
完成上一步操作后,原则上所在流水线上的触发器,每push一次代码就会触发一下流水线。
也可以通过流水下触发器通过API调用一起使用来触发流水线。
页面更新:2024-05-15
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号