通过jenkins持续集成 github中的代码到 服务器。
前言
最近自己在探索springboot框架,了解到 jenkins 具有 自动我github 上带项目部署到 tomcat 中。于是决定先搭建一个jenkins 环境在继续研究。
Jenkins简介
Jenkins的更多详细简介请自行 Baidu 或者 google 这里我就不赘述了,(还是因为我懒。。。)
通俗的讲一下,Jenkins本质上是一个java项目。下载地址:https://jenkins.io/download/
如何启动:
现在下来的文件实际上是一个war包。

因此 我们可以通过以下:两种方式来启动它:
- 直接将war丢到 tomcat 中启动,访问地址 “http://${服务器Ip}:${tomcat端口号}/${Tomcat包名Root忽略}/”
例如:
我的访问地址即为: http://127.0.0.1:7979/jenkins/ - 可以通过java -jar jenkins.war 的方式直接启动这个war包。这种方式 默认的启动端口 为8080 想要修改 因为我的 服务器 8080端口一被占有因此我也没有去尝试启动(应该可以通过修改 war中的文件进行更改端口号,日后我会回来填坑 (。-ω-)zzz Fixme )
启动成功之后 就可访问Jenkins了。
必要的准备工作:
首次进入之后需要 输入一个初次安装密文。如图:

cat 红色背景的地址 将密文复制进去 就能通过验证啦~
紧接着就是插件安装: 左边选项大概含义是安装推荐插件 右边自己选择插件安装(像我这样什么都不懂的点了左边)当然,您也可以在之后的插件管理里进行插件的 删除或者添加。

插件安装好之后创建角色就可以进入了:

主界面:

插件的准备:
这里我们要集成gitHub项目因此 我们需要用到的插件 为 git plugin、和github plugin.(这里具体怎么安装我就不截图了,点进去看看,我想你们肯定看得懂的(๑*◡*๑))

配置Git
点击上图的全局工具配置
。配置下你的git吧 少年!
什么?你没有git?去百度一下吧。linux两行命令的事情。
假如你忘记了git路径 可以通过 “which git”命令来获取。

填入保存

创建新项目:

现在让我们来为 Jenkins 注入灵魂吧 ヽ(゚∀゚)メ(゚∀゚)ノ
输入项目名 并选择项目模板。我们选择创建一个自由风格的 项目。



上图为github代码监听的 两种方式;
注意:
Poll SCM:方式 轮询会存在缺陷 。当下次轮询时 上次的构建仍未执行完,程序会判定此次为新的代码变动。并且再次执行构建。
GitHub hook trigger for GITScm polling:想要使用此功能 需要进行额外配置,配置如下
重写 获取URL:
官方解释了:默认url的配置 ,但通过war安装 成员变量 ${JENKINS_BASE_URL} = null ;我们Override一下吧。


去我们的GitHub中配置一下 webHook

最后一步:进行触发后的构建
这里我使用的是 shell脚本进行构建

图中 我通过执行 自己编写的 shell 脚本进行测试 脚本的内容 是创建一个txt文件

很简单 两行代码;
push一下
开始自动构建
shell脚本执行成功
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
本菜第一次发布博客,如有错误请予以指正并多多包涵。(◕ᴗ◕✿)
下篇 为如何通过 shell 打包 项目 并部署到tomcat中
通过jenkins持续集成 github中的代码到 服务器。的更多相关文章
- Docker+Jenkins持续集成环境(4):使用etcd+confd实现容器服务注册与发现
前面我们已经通过jenkins+docker搭建了基本的持续集成环境,实现了服务的自动构建和部署,但是,我们遇到一个问题,jenkins构建出来的镜像部署后,需要通过ip:port去访问,有什么更好的 ...
- jenkins持续集成原理
转载: 原文地址:http://www.2cto.com/kf/201609/544550.html 持续集成 开发中,我们经常遇到一些奇怪问题,比如本地可以编译成功的代码但是同事们更新代码后编译出错 ...
- Windows 环境下进行的jenkins持续集成
一台服务器作为代码仓库,一条服务器做持续集成代码仓库目前常见的github.gitlab.gitee持续集成常用Jenkins 服务器的配置这边都以Windows为例进行介绍 1. 安装Jenkins ...
- Jenkins持续集成学习-搭建jenkins问题汇总
目录 Jenkins持续集成学习5-搭建jenkins问题汇总 目录 前言 问题列表 nuget还原包问题 编译问题 SVN更新问题 参考文档 Jenkins持续集成学习5-搭建jenkins问题汇总 ...
- Jenkins持续集成学习-Windows环境进行.Net开发4
目录 Jenkins持续集成学习-Windows环境进行.Net开发4 目录 前言 目标 Github持续集成 提交代码到Github 从Github更新代码 git上显示构建状态 自动触发构建 Gi ...
- 自动化打包 Jenkins 持续集成 Git Gradle MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- Python接口测试实战5(上) - Git及Jenkins持续集成
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Docker+Jenkins持续集成
Docker+Jenkins持续集成 使用etcd+confd实现容器服务注册与发现 前面我们已经通过jenkins+docker搭建了基本的持续集成环境,实现了服务的自动构建和部署,但是,我们遇 ...
- jenkins持续集成工作原理、功能、部署方式等介绍
超详细的jenkins持续集成工作原理.功能.部署方式等介绍 原创 波波说运维 2019-08-29 00:01:00 概述 今天简单整理了一下jenkins的一些概念性内容,归纳如下: 1.概念 j ...
随机推荐
- 关于并发下内存及CPU使用情况的思考
鉴于昨天的文章<<使用Interlocked在多线程下进行原子操作,无锁无阻塞的实现线程运行状态判断>>里面有一个封装好的无锁的类库可以判断并发下的结束状况,我们可以完成并发时 ...
- AOP的相关概念
- 百度编辑器上传视频音频的bug
前言:UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码,百度Ueditor 支持多种后台语言上传 ...
- 听晴明老师从头讲React Native(原价399)百度云下载 百度网盘
适用人群 能使用至少一门主流编程语言:有基本的面向对象的概念:最好有一些web相关的知识和概念. 课程概述 新颖.实用.详尽的ReactNative零基础课程,由国内权威的ReactNative中文网 ...
- hive的高级查询(group by、 order by、 join 、 distribute by、sort by、 clusrer by、 union all等)
查询操作 group by. order by. join . distribute by. sort by. clusrer by. union all 底层的实现 mapreduce 常见的聚合操 ...
- python字符串27种常见的方法
如有字符串 mystr = 'hello world itcast and itcastcpp' ,以下是常见的操作: <1>find 检测 str 是否包含在 mystr中,如果是返回开 ...
- Tomcat的缺省是多少,怎么修改
Tomcat的缺省端口号是8080. 修改Tomcat端口号: 1.找到Tomcat目录下的conf文件夹 2.进入conf文件夹里面找到server.xml文件 3.打开server.xml文件 ...
- java日期操作常用工具
java日期操作常用工具 package com..util; import java.sql.Timestamp; import java.text.SimpleDateFormat; import ...
- scons脚本示例
import os def list_dir(dir): all_dirs = [] for root, dirs, files in os.walk('./', True): for name in ...
- jsoup 使用总结4--高级用法之 script js 脚本
jsoup 使用总结4--高级用法之 script js 脚本 大部分时候,我们使用jsoup解析网页的时候,都是直接找到某一类元素,或者按某种selector查询:具体使用方法可以参考jsoup官网 ...