GitLab-CI环境搭建与操作手册
第一章 系统安装简介
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工程
1. 进入gitlab web端:http:// http://gitlab.sensenets.com
2. 在工程菜单下选择:+new project
3. 输入工程名如:CI-test。提交创建
4. 在工程页面进入当前工程: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代码为例。基本编译过程为:
1. 从gitlab服务器克隆代码到runner服务器
git clone http://liyakun:sensenets@gitlab.sensenets.com/yyansheng/sense-crowd.git /home/shench
2. 在克隆过来的代码目录下新建一个build目录,并进入该目录
3. 执行编译代码
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.构建任务下发
工程发生更改都会触发ci构建。对.gitlab-ci.yml文件编辑提交信息,即可下发构建任务


5.2. 当前CI构建列表

5.3. 构建结果查询


附录部分GitLab-Runner常用命令
1. gitlab-runner帮助:gitlab-runner –help
2. gitlab-runner指定命令帮助:gitlab-runner <commond> –help
3. 注册runner:gitlab-runner register
4. 注销runner:gitlab-runner unregister
5. 当前运行的runner:gitlab-runner list
6. 启动runner:gitlab-runner start
7. 停止runner:gitlab-runner stop
8. 重启runner:gitlab-runner restart
9. 查询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
GitLab-CI环境搭建与操作手册的更多相关文章
- Jenkins+Maven+Git CI环境搭建手册
Jenkins+Maven+Git CI环境搭建手册 环境: OS:Linux version 2.6.32-220.23.2.ali878.el6.x86_64 (ads@kbuild) (gcc ...
- gitlab+jenkins环境搭建.md
gitlab+jenkins自动化部署环境搭建 环境说明 系统 主机 IP 安装软件 CentOS 7 study-1 192.168.100.51 gitlab.git CentOS 7 study ...
- monkey测试环境搭建 及 操作步骤
1.环境搭建 a.下载安卓SDK 链接:https://pan.baidu.com/s/1-OB6UVPvl5-N-vFdykfMmA 提取码:3spx b.配置环境变量(配置完成,重启系统,配置生效 ...
- OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 1.操作系统环境配置
1.OpenStack示例的架构介绍 1.1 各节点介绍 (1)控制节点(controller)控制节点(controller)上运行身份服务,镜像服务,计算节点管理,网络管理,各种网络代理和仪表板. ...
- gitlab私有环境搭建
1. 环境准备 安装所需的依赖包 yum install curl openssh-server openssh-clients postfix cronieGitLab使用postfix发送邮件 s ...
- CI环境搭建下-Jenkis与git结合
设置权限: 也可以通过公私钥的方式,添加权限,公私钥填写在gitblit用户中心: Jenkins中填写私钥: 添加: 添加后如果仍然报错,是因为windows下要使用http的地址. 在此,可 ...
- Redis入门,对Redis的理解和基本环境搭建及操作
Redis入门使用 参考:https://blog.csdn.net/hellozpc/article/details/81267030 一).缓存的用途举例 1.前端页面广告的数据无需每次查询后台系 ...
- oa项目环境搭建的操作步骤详解
dto:多表关联查询用单独建一个类,把查询数据放dto即可 vo:是view的缩写.单独定义一个类
- hibernate环境搭建及操作
一.导入jar包.1.hibernate的jar包2.jdbc的jar包 二.配置Hibernate.建立hibernate.cfg.xml mysql配置如下: <!DOCTYPE hiber ...
随机推荐
- 2018.2.6 JS-判断用户浏览器
JS-判断用户浏览器 在判断用户使用的浏览器是否为PC还是移动设备,有时候项目中需要用到.可在需要的项目中当全局方法来使用. 判断代码 function getMoblieDevice(window) ...
- Linux下Jenkins与GitHub自动构建NetCore与部署
今天我们来谈谈NetCore在Linux底下的持续集成与部署.NetCore我就不多介绍了,持续集成用的是Jenkins,源代码管理器用的是GitHub.我们就跟着博文往下走吧. 1.Linux环境 ...
- iOS 中push和pop到底系统做了些什么事
iOS中的push和pop是一个很常用的视图切换方法,他们是成对出现的, 简而言之,push就是压栈,pop就是出栈! [self.navigationController pushViewContr ...
- docker部署Ceph分布式存储集群
1.环境准备 3台virtualbox虚拟机,用来安装ceph集群,已用docker-machine安装上了docker,每台虚拟机虚拟创建一个5G的硬盘,用于存储osd数据,例如:/dev/sdb ...
- JS - Object.create(prototype)方法
用Object.create(prototype)方法创建一个对象,这个对象的原型将指向这个传入的prototype参数
- shell 流水账
在shell脚本运行时,会先查找系统环境变量ENV,该变量指定了环境文件(加载顺序通常是/etc/profile ~/.bash_profile ~/.bashrc /etc/bashrc) 设置全局 ...
- 【JAVA】JVM常用工具
JDK内置工具使用 jps(Java Virtual Machine Process Status Tool) 查看所有的jvm进程,包括进程ID,进程启动的路径等等. jstack(Java ...
- vue 网页文字中带#的话题颜色高亮
网页中显示文字时,带#开始和结束的文字蓝色高亮,就像微博话题一样效果如下 html <span v-html="parseComments('#吃货节#有什么好吃的')"&g ...
- 精通SpringBoot--Spring事件 Application Event
Spring的事件为Bean与Bean之间的通信提供了支持,当我们系统中某个Spring管理的Bean处理完某件事后,希望让其他Bean收到通知并作出相应的处理,这时可以让其他Bean监听当前这个Be ...
- GNU中的关键字typeof
如果你是 C++ 程序员,应该接触过 C++11 里的 decltype 操作符,它的作用是自动推导表达式的数据类型,以解决泛型编程中有些类型由模板参数决定而难以(甚至不可能)表示的问题.其实这个特性 ...
