预计阅读时间: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. [ kvm ] 学习笔记 3:KVM 基础功能详解

    1. 构建 KVM 环境 KVM 从诞生开始就需要硬件虚拟化的支持,KVM 必需的硬件虚拟化扩展分别是:Intel 的虚拟化技术(Intel VT)和 AMD 的 AMD-V 技术.首先处理器(CPU ...

  2. Django:使用模态框新增数据,成功后提示“提交成功”,并刷新表格bootstrap-table数据

    废话不说先看图:  代码实现: 前台代码: {% load staticfiles %} <!DOCTYPE html> <html lang="en"> ...

  3. java-socket-demo的实现

    目录 前言 IO通讯模型 IO通讯模型简介 1. 阻塞式同步IO 2. 非阻塞式同步IO 3. 多路复用IO(阻塞+非阻塞) 4. 异步IO Java对IO模型的支持 注意点及实现方案 TCP粘包/拆 ...

  4. Tomcat报错:No result type specified for result named 'success'

    今天学Struts, tomcat报出了异常信息 Exception starting filter [struts2] Unable to load configuration.还有 No resu ...

  5. nmcli简单使用

    nmcli connection 查看所有网卡信息 nmcli connection show ens33 查看网卡具体信息 nmcli connection reload 是配置文件生效

  6. hyperledger fabric超级账本java sdk样例e2e代码流程分析

     一  checkConfig  Before     1.1  private static final TestConfig testConfig = TestConfig.getConfig() ...

  7. Linux基础-12-yum管理软件包

    1. yum的功能 yum是Yellow dog Updater, Modified的缩写,目的就是为了解决RPM的依赖关系的问题,方便使用者进行软件的安装.升级等等工作. 2. 光盘挂载和镜像挂载 ...

  8. Python中的if语句——参考Python编程从入门到实践

    条件测试 1. 检查是否相等 一个等号表示赋值,两个等号用于判断等号左右两边是否相等,返回值为True或者False. 2. 检查是否相等是需考虑大小写 大小写不同的值视为不相等,例如继续写入代码:c ...

  9. STM32中引脚复用说明

    端口复用的定义 STM32有许多的内置外设(如串口.ADC.DCA等等),这些外设的外部引脚都是和GPIO复用的.也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设 ...

  10. vue elementui如何修改el-table头部样式

    找到el-table加入红色代码 <el-table :row-style="tableRowStyle" :header-cell-style="tableHea ...