预计阅读时间:30分钟

部署环境:Jenkins ver. 2.61 + Centos7 + Java 1.8

参考链接: http://www.jianshu.com/p/22b7860b4e81

目标:在之前搭建的Jenkins实现如下操作,了解源码管理/构建触发器/构建环境/Bindings构建/构建后操作等基本配置操作,利用Jenkins实现初步的持续集成

  • github仓库的使用

  • makefile的使用

  • 脚本的使用

[步骤1 配置邮箱通知] 参考链接 http://www.debugrun.com/a/T9PeIVx.html

:126邮箱必须开通客户端授权认证,然后在Jenkins中代替邮箱密码在客户端登录邮箱使用

为了避免密码泄露造成邮箱安全隐患,需设置客户端授权码,用授权码代替密码在客户端登录邮箱

[步骤2 添加授权认证 Add Credentials]参考http://www.jianshu.com/p/22b7860b4e81

1 在github上创建access token

Tokens you have generated that can be used to access the GitHub API.

Make sure to copy your new personal access token now. You won’t be able to see it again!

XXXXXXXXXXXX

[步骤3 Create sample go project with makefile]

makefile编写参考http://www.tuicool.com/articles/ueIfAve

1. 在github项目中添加如下目录结构 DevOps/Jenkins/

2. main.go

package main

import "fmt"

// Variables to identify the build

var (
Version = "1.0.0"
Build = "2017-05-17"
) func main() {
fmt.Println("Version: ", Version)
fmt.Println("Build time: ", Build)
}

 3. Makefile

# Default target: builds the project
build:
go build # Installs our project: copies binaries
install:
go install # Cleans our project: deletes binaries
clean:
go clean

[步骤4 配置github以及hook,Config github/git hook]

参考 http://www.jianshu.com/p/22b7860b4e81  进行配置

其中Github的项目配置如下 ,链接地址为  http://<Jenkins IP:8080>/github-webhook/

其中Execute shell 参考编写如下

pwd
ls
go version
echo "hello Jenkins"
make -C src/DevOps/Jenkins

坑 1.Jenkins服务器上需要安装git ,github上需要配置access key,然后在Jenkins上配置相应的权限

坑2. 我找了1个小时也没有找到Build when a change is pushed to GitHub,最后google到了答案如下:

On the v1.25.1 release of the GitHub plugin, trigger Build when a change is pushed to GitHub has been renamed to

GitHub hook trigger for GITScm polling.

[步骤5]持续集成测试环境之初显威力。

由于Hook了github,因此每次commit都会触发build操作,然后检查项目构建历史

预告:下期“持续集成进阶”想要实现的目标

  • dockerhub的调用

  • ansible 配置的调用

  • Job的依次调用

[Jenkins][GitHub]2 持续集成环境初探的更多相关文章

  1. 构建基于Jenkins + Github的持续集成环境

    搭建持续集成首先要了解什么是持续集成,带着明确的目标去搭建持续集成环境才能让我们少走很多弯路.持续集成(Continuous integration)简称CI,是一种软件开发的实践,可以让团队在持续集 ...

  2. Redhat上为java Maven项目构建基于Jenkins + Github的持续集成环境

    在Redhat enterprise 6.5 的服务器上,为在gutub 上的 java mvaen项目构建一个持续集成环境,用到了Jenkins.因公司的服务器在内网,访问外网时要通过代理,所以为m ...

  3. jenkins + Git 搭建持续集成环境

    持续集成通过自动化构建.自动化测试以及自动化部署加上较高的集成频率保证了开发系统中的问题能迅速被发现和修复,降低了集成失败的风险,使得系统在开发中始终保持在一个稳定健康的集成状态.jenkins是目前 ...

  4. Linux下Jenkins+git+gradle持续集成环境搭建

    Linux下Jenkins+git+gradle持续集成环境搭建 来源:IT165收集  发布日期:2014-08-22 21:45:50 我来说两句(0)收藏本文   一.项目介绍 和 linux ...

  5. 基于 Jenkins 快速搭建持续集成环境--转

    源地址:http://www.ibm.com/developerworks/cn/java/j-lo-jenkins/ 持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础 ...

  6. Jenkins 快速搭建持续集成环境

    持续集成概述 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域 ...

  7. 用Jenkins构建Django持续集成环境

    用Jenkins构建Django持续集成环境 - V2EX https://www.v2ex.com/t/32054

  8. 基于 Jenkins 快速搭建持续集成环境

      什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火 ...

  9. Jmeter+Ant+Jenkins接口自动化持续集成环境搭建(Linux)

    一.安装说明 系统环境:CentOS release 6.4 JDK版本:jdk1.8.0_181 Jmeter版本:apache-jmeter-3.0 Ant版本:apache-ant-1.9.13 ...

随机推荐

  1. k8s SLUB: Unable to allocate memory on node -1 错误

    Try to Fix Two Linux Kernel Bugs While Testing TiDB Operator in K8sWed, May 1, 2019 Wenbo Zhang Auth ...

  2. Dijkstra算法(朴素实现、优先队列优化)

    Dijkstra算法只能求取边的权重为非负的图的最短路径,而Bellman-Ford算法可以求取边的权重为负的图的最短路径(但Bellman-Ford算法在图中存在负环的情况下,最短路径是不存在的(负 ...

  3. social engineering toolkit

    1. freebuf介绍 http://www.freebuf.com/sectool/73409.html 2. github https://github.com/trustedsec/socia ...

  4. mac tar 解压

    1.下载mac上对应rar版本 http://www.rarlab.com/download.htm2.利用tar名解压下载的rarosx-5.4.0.tar.gz,版本可能会更新tar xzvf a ...

  5. [转帖]运维必读:Linux 的内存分页管理

    运维必读:Linux 的内存分页管理 https://cloud.tencent.com/developer/article/1356431 内存是计算机的主存储器.内存为进程开辟出进程空间,让进程在 ...

  6. xsy 2414【CF587C】Duff in the Army

    Description [题目描述]: 最近有一场战争发生,Duff是战争里一名士兵,Malek是她的长官. 他们的国家——Andarz Gu有n个城市(编号为1到n),总共有n-1条道路,每条道路连 ...

  7. Python-17-反射

    一.什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被 ...

  8. MAC帧封装

    通过控制台输入一段文字,输出MAC帧的2进制和16进制的字符串,主要是求FCS.这里只考虑单帧的情况,即只考虑输入数据在1字节~1500字节之间的情况,对于更长的数据暂不考虑. 1.MAC帧基本格式 ...

  9. Linux中request_irq()中断申请与处理说明

    1.  中断的理解 中断你可以理解为就是一种电信号,是由硬件设备产生的然后发送给处理器,处理器接收到中断后,就会马上向操作系统反映此信号,之后就是系统的工作了. 这里有两个注意的地方,第一中断是随时都 ...

  10. Oracle部分

    做了很多年Oracle,转行到MySQL了,算是借鉴 Oracle日常维护管理指标 一. 基本硬件环境 1. 主机硬件环境 品牌 型号 数量 物理CPU核数及逻辑CPU数 内存大小 本地硬盘大小 光驱 ...