预计阅读时间: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. LeetCode_290. Word Pattern

    290. Word Pattern Easy Given a pattern and a string str, find if str follows the same pattern. Here  ...

  2. 关于IO的操作(文件、网络)

    IO操作的流程总结和分析: (1)对象,易于编写代码    --->   (2)byte[],底层本质   ---->  (3)IO(文件.网络),最终IO处理掉

  3. 【使用kubectl apply xxx.yaml的方式从docker源拉取镜像】

    只需要修改黄底色部分就可以了 apiVersion: apps/v1 # Kubernetes version 1.8.x should use apps/v1beta2 # Kubernetes v ...

  4. 【Leetcode_easy】925. Long Pressed Name

    problem 925. Long Pressed Name solution1: class Solution { public: bool isLongPressedName(string nam ...

  5. html div高度100%无效

    移动端相关: div高度继承自父元素——>body——>html 解决方案: html,body { height: 100%;margin: 0; padding: 0;} 然后对应的d ...

  6. 个人博客搭建全记录(Hexo,Github)

    搭建过程主要借鉴小歪的博客 博客主题airclod Hexo,Github建站记录 1. 准备 Github账号 注册登陆Github 创建Repository,Repository Name就是Yo ...

  7. 又是a+b

    题目描述: 给定两个整数 a, b (a, b 均不超过 int 类型的表示范围),求出 a + b 的和.输入描述: 多组输入,每组输入为一行,里面有 2 个数 a, b.输出描述: 对于每一组输入 ...

  8. MySQL监控&性能瓶颈排查

    监控的意义&目的 业务/数据库服务是否可用 通过事务实时性能数据变化感知业务的变化 数据库性能变化趋势判断服务器资源是否足够 数据可靠性 业务数据是否可靠 服务可用,不代表数据就是正确的 有可 ...

  9. PowerBuilder学习笔记之导入Excel数据

    原文地址:http://blog.chinaunix.net/uid-20586802-id-3235549.html /*****************简单的导入功能,涉及到数据类型判断***** ...

  10. shiro与spring集成

    简介 Apache Shiro 是 Java 的一个安全(权限)框架.主要提供了认证.授权.加密和会话管理等功能. Authentication:身份认证/登录,验证用户是不是拥有相应的身份:Auth ...