通过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 ...
随机推荐
- <mate name="viewport">移动端设置详解
<meta name="viewport" content="width=device-width,height=device-height,initial-sca ...
- 《深入理解Java虚拟机》读书笔记3--垃圾回收算法
转载:http://blog.csdn.net/tjiyu/article/details/53983064 下面先来了解Java虚拟机垃圾回收的几种常见算法:标记-清除算法.复制算法.标记-整理算法 ...
- 提升现代web app中页面性能
提升现代web app的中的页面性能 前言,本文翻译自https://docs.google.com/presentation/d/1hBIb0CshY9DlM1fkxSLXVSW3Srg3CxaxA ...
- Mybatis 系列3
系列文章 2 中,我们通过对mybatis源码的简单分析,可看出,在mybatis配置文件中,在configuration根节点下面,可配置properties.typeAliases.plugins ...
- 与班尼特·胡迪一起找简单规律(HZOJ-2262)
与班尼特·胡迪一起找简单规律 Time Limit: 1 s Memory Limit: 256 MB Description 班尼特·胡迪发现了一个简单规律 给定一个数列,1 , 1 ...
- id为194024的进程当前未运行
.NET MVC 编译运行时 提示 >> id为194024的进程当前未运行 << 清理解决方案,重新运行
- Android Gradle 自定义Task 详解
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/76408024 本文出自[赵彦军的博客] 一:Gradle 是什么 Gradle是一 ...
- log4j2.xml全配置文件
可以参考如下配置 <?xml version="1.0" encoding="UTF-8"?> <!--日志级别以及优先级排序: OFF &g ...
- C语言出来多久了你知道吗?
在20世纪80年代,为了避免不同开发者使用的C语言语法的差异,美国国家标准局为C语言开发了一套完整的美国国家标准语言文法,称为ANSI C,作为C语言的初始标准.. [1] 2011年12月8日,国际 ...
- 虚拟机中克隆后使用eth0
1.修改主机名 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=mini1 1.修改ip地址以及udev记录网络规则的脚本 在CentOS中,ude ...