一、前言
该过程中用到的技术栈git
gitlab
shell
需要提前准备的内容
- 一个项目
myweb
- 本机安装Git
- 一个Gitlab仓库
- docker私有仓库
- gitlab runner(Gitlab-runner)
公司的代码一般都保存在私有化部署的Gitlab,要使用Gitlab的CI/CD,需要Gitlab版本>8.0.0
CI/CD虽然不难,但配置过程中有很多坑,而且有些要了解的概念也比较多,可以分成多个步骤,逐一攻破。
二、入门CI实战
1、安装、注册Gitlab-runner
gitlab-runner
需要提前进行安装和注册,详情
进入Gitlab->CICD->Runner 当前可用的runner有
如图所示,该项目可用的runner
- 左边runner仅可以为当前项目使用,但需要激活一下。
- 右边为共享的runner, 可以直接使用
- .gitlab-ci.yml中以tags和runner的tags关联
2、先把CI跑起来
首先在项目的根目录下新建.gitlab-ci.yml
,然后在该文件中配置pipeline的任务,这些任务将会跑在gitlab-runner
中。
一个最简单的.gitlab-ci.yml
文件,其中CI_COMMIT_BRANCH、GITLAB_USER_LOGIN是一些gitlab定义好的变量,可以直接使用,你也可以定义自己的变量
推送Git仓库
进入gitlab-> CI/CD页面,可以看到一个pipeline状态是stuck
,这是因为没有Gitlab-runner。
3、使用Gitlab-runner执行pipeline
修改.gitlab-ci.yml
,仅展示部分
提交代码,进入CI/CD页面看到新增了一条pipeline执行完成
点击新的记录,可以看到对应的Stage,点击当前任务
可以看到Gitlab-runner执行.gitlab-ci.yml
的具体信息。
到目前为止,已经看到了.gitlab-ci.yml
触发到执行的过程,接下来,看看针对这个项目怎样去具体跑CI
三、项目实战配置
1、在项目添加Dockerfile文件和Nginx配置文件
(1)、根目录中添加配置文件Dockerfile
(2)、在项目根目录中新建nginx/default.conf
,我们用外挂的nginx配置文件覆盖原来Nginx镜像中的配置文件
2、配置文件
3、注意事项
- 一般公司安全性考虑,不会将镜像推送到hub,公司内网一般也不通,要考虑自建私有镜像仓库
- gitlab-runner可以使用的宿主机类型很多,包括云主机、docker、k8s等,构建镜像的解决方式略有不同,可以参考文档
- 其中一些涉及密码的变量,可以通过
Gitlab->Setting->CI/CD->Variables
来设置,直接在.gitlab-ci.yml中使用
四、参考文档
- Gitlab CI快速开始
- 在k8s构建的gitlab-runner中构建镜像-docs
- 在k8s构建的gitlab-runner中构建镜像-中文
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!