第一章 系统安装简介

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环境搭建与操作手册的更多相关文章

  1. Jenkins+Maven+Git CI环境搭建手册

    Jenkins+Maven+Git CI环境搭建手册 环境: OS:Linux version 2.6.32-220.23.2.ali878.el6.x86_64 (ads@kbuild) (gcc ...

  2. gitlab+jenkins环境搭建.md

    gitlab+jenkins自动化部署环境搭建 环境说明 系统 主机 IP 安装软件 CentOS 7 study-1 192.168.100.51 gitlab.git CentOS 7 study ...

  3. monkey测试环境搭建 及 操作步骤

    1.环境搭建 a.下载安卓SDK 链接:https://pan.baidu.com/s/1-OB6UVPvl5-N-vFdykfMmA 提取码:3spx b.配置环境变量(配置完成,重启系统,配置生效 ...

  4. OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 1.操作系统环境配置

    1.OpenStack示例的架构介绍 1.1 各节点介绍 (1)控制节点(controller)控制节点(controller)上运行身份服务,镜像服务,计算节点管理,网络管理,各种网络代理和仪表板. ...

  5. gitlab私有环境搭建

    1. 环境准备 安装所需的依赖包 yum install curl openssh-server openssh-clients postfix cronieGitLab使用postfix发送邮件 s ...

  6. CI环境搭建下-Jenkis与git结合

     设置权限:  也可以通过公私钥的方式,添加权限,公私钥填写在gitblit用户中心:  Jenkins中填写私钥: 添加: 添加后如果仍然报错,是因为windows下要使用http的地址. 在此,可 ...

  7. Redis入门,对Redis的理解和基本环境搭建及操作

    Redis入门使用 参考:https://blog.csdn.net/hellozpc/article/details/81267030 一).缓存的用途举例 1.前端页面广告的数据无需每次查询后台系 ...

  8. oa项目环境搭建的操作步骤详解

    dto:多表关联查询用单独建一个类,把查询数据放dto即可 vo:是view的缩写.单独定义一个类

  9. hibernate环境搭建及操作

    一.导入jar包.1.hibernate的jar包2.jdbc的jar包 二.配置Hibernate.建立hibernate.cfg.xml mysql配置如下: <!DOCTYPE hiber ...

随机推荐

  1. World Wind Java开发之一(转)

    http://blog.csdn.net/giser_whu/article/details/40477235 参照<World wind Java三维地理信息系统开发指南随书光盘>以及官 ...

  2. hdu-3549 Flow Problem---最大流模板题(dinic算法模板)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3549 题目大意: 给有向图,求1-n的最大流 解题思路: 直接套模板,注意有重边 传送门:网络流入门 ...

  3. linux 查看帐号创建时间

    查看用户的home目录的创建时间 查看日志 用stat 命令,可以看到目录的三个时间.不过这个时间只是用来参考的,确定一个范围. 查看日志是最准确的方法 /var/log/auth.log ,前提是你 ...

  4. 2018.6.20 Java考试试题总结(Java语言基础与面向对象编程)最新版

    Java考试试题总结 一.单选题(每题1分 * 50 = 50分) 1.java程序的执行过程中用到一套JDK工具,其中javac.exe指( B ) A.java语言解释器 B.java字节码编译器 ...

  5. 2017.12.17 servlet 生命周期

    servlet生命周期一般分为4个: 加载----实例化------服务-----销毁 (1)加载: 加载一般是在运行tomcat容器时来完成,将servlet类加载到tomcat中,或者是客户端发来 ...

  6. 微信小程序的开发——01小程序的执行流程是怎样的?

    作者:叶小钗 转载至:https://www.cnblogs.com/yexiaochai/p/9346043.html 我们这边最近一直在做基础服务,这一切都是为了完善技术体系,这里对于前端来说便是 ...

  7. vue学习之路 - 2.基本操作(上)

    基本操作(上) 本章节简介: vue的安装 vue实例创建 数据绑定渲染 表单数据双向绑定 事件处理 安装 安装方式有三种: 一.vue官网直接下载 http://vuejs.org/js/vue.m ...

  8. 二十八、MySQL 元数据

    MySQL 元数据 你可能想知道MySQL以下三种信息: 查询结果信息: SELECT, UPDATE 或 DELETE语句影响的记录数. 数据库和数据表的信息: 包含了数据库及数据表的结构信息. M ...

  9. Python 正则表达式 search vs match

    search()和match()函数都是正则表达式中的匹配函数,二者有何区别呢? 1.match()从string的开始位置进行正则匹配,即从0位置开始匹配,若匹配上则返回一个match对象,否则返回 ...

  10. ZendFramework-2.4 源代码 - 关于MVC - Controller层

    // 1.控制器管理器 class ServiceManager implements ServiceLocatorInterface { public function __construct(Co ...