5、补充:

(1)构建说明:

1)Jenkins会基于一些处理器任务后,构建发布一个稳健指数 (从0-100 ),这些任务一般以插件的方式实现。

2)它们可能包括单元测试(JUnit)、覆盖率(Cobertura )和静态代码分析(FindBugs)。

3)分数越高,表明构建越稳定。下图中分级符号概述了稳定性的评分范围。任何构建作业的状态(总分100)低于80分就是不稳定的。

(2)按不同的版本构建代码:

1)在gitlab代码库上由管理员规定项目master库代码的版本并打tag(使用开发权限也可以打标签);

2)配置版本参数:

3)构建:

(3)定时构建代码:

(4)规范化构建时执行的脚本:

1)创建脚本:

mkdir -p /data/scripts

vim /data/scripts/deploy.sh

#!/bin/sh

ip=$1

host=$2

rsync -raz --delete --progress * root@${ip}:/data/www/${host}/

#此脚本执行的目录是/var/lib/jenkins/workspace/<构建工程名称>

chmod +x /data/scripts/deploy.sh

ln -s /data/scripts/deploy.sh /usr/bin/deploy.sh

2)构建配置:

(5)jenkins集群:
1)前提条件:

A、

jenkins主服务器和需要添加的从服务器之间ssh秘钥已经验证:

ssh-copy-id -i ~/.ssh/id_dsa.pub root@172.16.1.90

如果从服务器需要ssh发布到web服务器也需要做秘钥认证;

B、在从服务器上设置了jenkins的工作目录:

mkdir -p /data/jenkins/

C、在从服务器上安装jdk的环境:

yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel

D、在gitlab上应该配置为当前从服务器的公钥,不然无法下载代码到从服务器的/data/jenkins/workspace/目录下;

E、构建工程执行的shell脚本、git、maven环境需要在从服务器上做相应的配置:

列如:

mkdir -p /data/scripts

vim /data/scripts/deploy.sh

#!/bin/sh

ip=$1

host=$2

rsync -raz --delete --progress * root@${ip}:/data/www/${host}/

#此脚本执行的目录是/var/lib/jenkins/workspace/<构建工程名称>

chmod +x /data/scripts/deploy.sh

ln -s /data/scripts/deploy.sh /usr/bin/deploy.sh

F、jenkins集群使用的场景:

ISO构建、adnroid构建、windows项目构建、大规模高并发任务构建、特定环境构建;

G:小结:jenkins新节点使用的是主节点的配置,只不过是利用的是从节点的系统资源,所以相应的编译环境等需要设置;

2)在全局安全配置中开启agents:

3)配置节点:

A、添加登录从服务器凭据:

B、

C、

D、启动并查看节点状态:

4)在构建工程中指定构建运行的节点:

5)进行构建;

(6)jenkins用户角色配置:

需要安装role-based authorization strategy插件;

1)添加新的用户:

根据上面创建用户的例子,再创建一个java用户;

2)开启用户角色配置选项:

此时系统管理中会多一个Manage and Assign Roles模块;

3)设置manager角色:

说明:全局角色和项目角色是相互叠加的;以上角色定义了用户可以只能看到自己构建的工程,也可以构建新的工程;

4)把用户添加到角色中:

5)验证:

A、root用户登录:

B、java用户登录:

C、php用户登录:

6)补充:

在全局安全模块中配置ldap:

提示:

liunx下的用户搜索过滤器配置为:uid={0}

windows下的用户搜索过滤器配置为:sAMAccountName={0}

(7)jenkins项目邮件发送:

1)jenkins邮件全局配置:

配置的详细内容见:"10、Jenkins配置——4、配置邮箱:"

2)在构建的项目中配置:

A、

B、

3)构建项目:

4)查看邮件:

11、gitlab和Jenkins整合(2)的更多相关文章

  1. 11、gitlab和Jenkins整合(1)

    1.在jenkins上安装git: 因为jenkins需要在gitlab上拉取代码: 具体的git安装,参考"4.git和gitlab的配置--4.2.git编译安装:": 2.在 ...

  2. [原创]CI持续集成系统环境--Gitlab+Gerrit+Jenkins完整对接

    近年来,由于开源项目.社区的活跃热度大增,进而引来持续集成(CI)系统的诞生,也越发的听到更多的人在说协同开发.敏捷开发.迭代开发.持续集成和单元测试这些拉风的术语.然而,大都是仅仅听到在说而已,国内 ...

  3. CI持续集成系统环境--Gitlab+Gerrit+Jenkins完整对接

    原文地址https://www.cnblogs.com/kevingrace/p/5651447.html 近年来,由于开源项目.社区的活跃热度大增,进而引来持续集成(CI)系统的诞生,也越发的听到更 ...

  4. Gitlab+Gerrit+Jenkins完整对接

    近年来,由于开源项目.社区的活跃热度大增,进而引来持续集成(CI)系统的诞生,也越发的听到更多的人在说协同开发.敏捷开发.迭代开发.持续集成和单元测试这些拉风的术语.然而,大都是仅仅听到在说而已,国内 ...

  5. gitlab+gerrit+jenkins持续集成框架

    1.持续集成之gitlab+gerrit+jenkins 1.1. GitLab 1.1.1. 简介 GitLab 是一个使用使用Ruby on Rails搭建的,用于仓库管理系统的开源项目.使用Gi ...

  6. gitlab与jenkins的自动化部署(通过webhook与ansilble)

    gitlab与jenkins的自动化部署(通过webhook与ansilble) 1.部署介绍 gitlab服务器:192.168.1.49:80jenkins服务器:192.168.1.49:818 ...

  7. gitlab 与 jenkins 关联

    一.搭建 gitlab :https://www.cnblogs.com/carriezhangyan/p/10729158.html 二.搭建jenkins :https://www.cnblogs ...

  8. 持续集成之④:GitLab触发jenkins构建项目

    持续集成之④:GitLab触发jenkins构建项目 一:目的为在公司的测试环境当中一旦开发向gitlab仓库提交成功代码,gitlab通知jenkins进行构建项目.代码质量测试然后部署至测试环境, ...

  9. django之创建第11个项目-页面整合

    目的:将如下众多html页面整合到一个index.html页面中. 百度云盘:django之创建第11个项目-页面整合 用下面的方式实现: <!DOCTYPE html> <head ...

随机推荐

  1. 消息队列之 RabbitMQ【验证通过】

    消息队列之 RabbitMQ 预流 关注  22.9 2017.05.06 16:03* 字数 4884 阅读 284691评论 41喜欢 618赞赏 2 关于消息队列,从前年开始断断续续看了些资料, ...

  2. Boostrap bootstrap-table插件使用教程

    bootstrap table 简介及特性 简介 Bootstrap table 是国人开发的一款基于 Bootstrap 的 jQuery 表格插件,通过简单的设置,就可以拥有强大的单选.多选.排序 ...

  3. MarkDown笔记一

    目录 目录 字体 标题 下划线标题 #号标题 加重与斜体 高亮 删除线 上标与下标 脚注 转义字符 分割线 段落 空行 结尾两个空格 区域引用 每行> 每段> 可嵌套 目录 把文档中所有标 ...

  4. XShell本地上传文件到Ubuntu上及从Ubuntu下载文件到本地

    使用XShell本地上传文件到Ubuntu上及从Ubuntu下载文件到本地. 1.第一种方法是最常用的 :如果下载了Xshell和Xftp,Ctrl+Alt+F就可以选择文件的互传了!(虚拟机/云服务 ...

  5. 字符识别OCR原理及应用实现

    字符识别OCR原理及应用实现 文本是人类最重要的信息来源之一,自然场景中充满了形形色色的文字符号.光学字符识别(OCR)相信大家都不陌生,就是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过 ...

  6. YOLO v4分析

    YOLO v4分析 YOLO v4 的作者共有三位:Alexey Bochkovskiy.Chien-Yao Wang 和 Hong-Yuan Mark Liao.其中一作 Alexey Bochko ...

  7. 使用Keil语言的嵌入式C编程教程(上)

    使用Keil语言的嵌入式C编程教程(上) Embedded C Programming Tutorial with Keil Language Embedded System 嵌入式系统是指以单片机为 ...

  8. 用Redis实现签到功能

    一.场景 在很多时候我们会遇到用户签到的场景,每天用户进入应用时,需要获取用户当天的签到状态,如果没签到,用户可以进行签到,并且得到相关的奖励.我们可能需要每天的签到情况,必要的时候可能还需要统计一下 ...

  9. 从一道高大上的面试题来学习位图算法BitMap

    今天我偶然刷到了一篇文章,"华为二面:一个文件里面有5亿个数据,一行一个,没有重复的,进行排序".不知道又是哪个无良媒体瞎起的标题,夺人眼球. 不过说归说,这题听着就很高大上,5亿 ...

  10. 三、使用sudo分配管理权限

    使用sudo分配管理权限 su命令 su -  [账户名称]     :切换到用户,不加用户名默认切换到root su -  [账户名称]  -c  '命令'   :以xx用户身份执行命令,注意命令需 ...