通过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 ...
随机推荐
- 关于linux防火墙
1.防火墙是什么:防火墙就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防火墙如何工作 ...
- 【React入门实例(运行于浏览器duan)】
一.HTML模板 二.ReactDOM.render() ReactDOM.render是React的最基本方法,用于将模板转换为HTML语言,并插入指定的DOM节点. ReactReactDOM.r ...
- Python中导入第三方声源库Acoular的逻辑解释以及Acoular的下载
[声明]欢迎转载,但请保留文章原始出处→_→ 秦学苦练:http://www.cnblogs.com/Qinstudy/ 文章来源:http://www.cnblogs.com/Qinstudy/p/ ...
- valid palindrome(回文)
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignori ...
- Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
Jsp 环境目前最流行的是 Tomcat5.0.Tomcat5.0 自己包含一个 Web 服务器,如果是测试,就没必要把 Tomcat 与 IIS 或 Apache 集成起来.在 Tomcat 自带的 ...
- Java语言概论
第1章 ■ Java的发展简史及特点 ■ J2SDK的下载与安装 ■ Java应用程序的编写 ■ Eclipse的下载及使用 ■ 正确安装使用J2SDK ■ 使用记 ...
- 第15章-输入/输出 --- 理解Java的IO流
(一)理解Java的IO流 JAVA的IO流是实现输入/输出的基础,它可以方便地实现数据的输入/输出操作,在Java中把不同的输入/输出(键盘.文件.网络连接等)抽象表述为"流"( ...
- JVM组成
java内存组成介绍:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配.堆是在 Java 虚拟机启动时 ...
- laravel项目使用twemproxy部署redis集群
twemproxy是twitter开发的一个redis代理proxy,Twemproxy可以把多台redis server当作一台使用,开发人员通过twemproxy访问这些redis servers ...
- Python_自定义栈
customStack.py '''栈:是一种运算受限的线性表,其特点在于仅允许在一端进行元素的插入和删除操作,最后入栈的最先出栈,而最先入栈的元素最后出栈''' s = [] s.append(3) ...