Gitlab CI 入门
1.创建git工程
首页点new project, 给项目起个名字,再写点描述信息,不详述了。
2.安装gitlab-runner
我们组内已经有公共的Shared Runners,
此处为了做实验,另找一台其他机器做为runer服务器, 执行如下命令,
wget https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.deb.sh
./script.deb.sh
yum install gitlab-ci-multi-runner
3.注册runner服务器到gitlab-CI
到project-->setting-->CI/CD-->runners,中查看runner配置:
根据Set up a specific Runner manually给的信息,
在runner所在服务器执行gitlab-ci-multi-runner register,
按提示输入信息,最主要的就是url和token,一定要跟project-->setting-->CI/CD-->runners的一致,
其他项根据需求填就行了,
然后执行: gitlab-runner run
再回到gitlab project runners界面,会看到刚才创建的runner已经连接, 会有个绿色小图标:
4.提交代码
外部环境准备好,该上传一些真实项目代码了, git基本操作,也不详述了。
对于CI来说,最重要的是gitlab-ci.yaml文件,
hello_ci_world yaml样例:
# 定义 stages
stages:
- build
- test
# 定义 test job
job_test:
stage: test
script:
- cd test
- ./test_hello_ci_world
# 定义 build job
job_build:
stage: build
script:
- cd build
- cmake ..
- make
- make install
- cd ..
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
paths:
- ./build/*
- ./test/*
注: 就跟学C语言,第一次运行个hello world一样,此处不做任何解释,先看效果。
代码commit之后,gitlab会自动执行yaml预先定义的jobs,
在CI/CD-->Pipelines界面,会展示当前任务进度, pass or failed,
如果有failed任务,可以点击x图标进去看一下详细原因,
以上就是Gitlab-CI版本的hello world, 工程对应的地址:
https://git.mesalab.cn/Alpha_lib/hello_ci_world
大家都有举一反三的能力,照着上面的hello world应该能写出其他工程需要的gitlab-ci.yaml,
CI还有更多复杂的功能,待续......