持续集成部署
又叫 runner的安装和使用
准备一个生产/部署环境
以CPMS-34为例,即准备一台PC机和控制板
- PC机需要运行linux环境,并安装有powerpc交叉编译器,和其他常用工具,如python,tftp,telnet,nfs,minicom等
- PC机安装gitlab runner软件,这个软件的服务端在gitlab服务器上 安装过程参考官方给的说明
- 注意安装特定的版本,最新版的可能和服务器端不兼容
# for DEB based systems apt-cache madison gitlab-runner sudo apt-get install gitlab-runner=10.0.0
配置runner
登录gitlab,在项目的Settings-->CI / CD Settings-->Runners settings中,找到如下的界面,我的这个是已经有runner的

在runner的PC上,使用root用户,进行注册
su gitlab-ci-multi-runner register非root用户注册可能造成权限不足,导致自动集成/测试过程失败 此过程中会需要填写服务器的url和token,和runner的标签和描述,标签和表述随便填,后面可以修改,选择runner的环境为shell环境,然后注册成功后,gitlab服务器上的runner settings中会显示注册的runner信息
重启runnerPC
- 在项目中添加.gitliab_ci.yml(参考gitlab相关说明和CPMS-34的例子)
- 提交修改,查看gitlab服务器上的ci结果

其他的命令(需要root)
- sudo gitlab-ci-multi-runner run
- sudo gitlab-ci-multi-runner list
gitlab-ci-multi-runner的配置文件默认在/etc/下,可以在命令list中看到具体的路径
.gitliab_ci.yml文件说明
CPMS-34中的例子
# This file is a template, and might need editing before it works on your project.
# see https://docs.gitlab.com/ce/ci/yaml/README.html for all available options
# change from template
# author :zhangbin
before_script:
- make > /dev/null
- make packet > /dev/null
- git log --pretty=format:"%H" -1
- cp nandflash.tar /tftproot/nandflash-$(git log --pretty=format:"%H" -1).tar
after_script:
- echo "clean"
- make clean > /dev/null
style_check:
stage: build
script:
- echo "style_check"
test_1:
stage: test
script:
- sh ./.lig_ci.sh
- stage是关键字,只能是build,test,deploy
- before_script:运行在每个测试项之前
- after_script:运行在每个测试项之后
如:
test_1的执行过程:before_script->test_1->after_script - script命令,其后的以
-开头的是shell命令,注意test_1中调用了一个仓库中的测试脚本.lig_ci.sh