第一章系统安装简介
1.1.系统结构
GitLab-CI持续集成服务主要包括gitlab、runner 2个模块。Gitlab主要负责代码文件的管理;runner则负责版本编译、存储、推送等任务
GitLab服务公司原有已经搭建。只需搭建runner服务,并与gitlab对接即可。
第二章安装环境
2.1.系统要求:
服务器要求 |
|
操作系统 |
Ubuntu 14(强制要求,sdk代码必须在该系统下编译) |
存储 |
涉及到每日构建版本的存储,建议1T以上 |
网络 |
需要连接外网;能够与gitlab服务器通讯 |
部署服务 |
Runner、需要支持ant编译、cmake编译 |
备注 |
2.2.系统部署服务介绍
Runner:从gitlab服务器上克隆代码到本地进行编译、并出库
Ant:wab-app代码编译依赖
Cmake:SDK代码编译依赖
第三章 安装Runner
3.1. 安装Docker编译器,使用docker编译需要用到
curl -sSL https://get.docker.com/ | sh
3.2. 下载ubuntu Gitlab-Runner安装包
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.deb.sh | sudo bash
3.3. 安装gitlab-ci-multi-runner
sudo apt-get install gitlab-ci-multi-runner
3.4. 注册并运行runner
注册runner并和对应的工程关联起来,我们需要用到工程的token值,所以在这里我们先在gitLab上创建工程
3.4.1创建CI工程
- 进入gitlab web端:http:// http://gitlab.xxxxxxnets.com
- 在工程菜单下选择:+new project
- 输入工程名如:CI-test。提交创建
- 在工程页面进入当前工程:CI-test –> setting。在当前页面找到该工程的token
3.4.2注册runner
sudo gitlab-ci-multi-runner register
3.4.3检查runner启动状态
gitlab-ci-multi-runner list
第一章 调度任务脚本
Runner服务起来后,我们在构建编译任务的时候需要告诉runner-ci需要做的事情。这些做的事情就是代码编译的过程。我们打包成脚本,之前注册runner时选择的是shell执行方法
4.1. 创建:.gitlab-ci.yml文件(必须与该文件名一模一样)
4.1.1获取代码编译方法
此处以SDK代码为例。基本编译过程为:
- 从gitlab服务器克隆代码到runner服务器
git clone http://liyakun:[email protected]/yyansheng/sense-crowd.git /home/shench
- 在克隆过来的代码目录下新建一个build目录,并进入该目录
- 执行编译代码
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install -DBUILD_EXAMPLES=ON ..
make && make install
4.1.2将编译过程打包成脚本写入:.gitlab-ci.yml
第五章 GitLab-CI构建任务下发
5.1. 构建任务下发
当工程出现更改时会触发执行.gitlab-ci.yml文件中的指令,即下发构建任务
附录 部分GitLab-Runner常用命令
- gitlab-runner帮助:gitlab-runner –help
- gitlab-runner指定命令帮助:gitlab-runner <commond> –help
- 注册runner:gitlab-runner register
- 注销runner:gitlab-runner unregister
- 当前运行的runner:gitlab-runner list
- 启动runner:gitlab-runner start
- 停止runner:gitlab-runner stop
- 重启runner:gitlab-runner restart
- 查询runner状态:gitlab-runner status
其他runner命令可以查询官网介绍:
https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/commands/README.md
centOS系统安装runner:
https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/install/linux-repository.md