Jenkins详细安装与构建部署使用教程[通俗易懂]

Jenkins详细安装与构建部署使用教程[通俗易懂]     Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:1、持续的软件版本发布/测试项目。2、监控外部调用执行的工作。本文使用的Linux:Ubuntu其中JDK、Tomcat、SVN服务器请看这里Ubuntu安装配置JDK、Tomcat、SVN…

大家好,又见面了,我是你们的朋友全栈君。

          Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。

本文使用的Linux:Ubuntu

其中JDK、Tomcat、SVN服务器请看这里Ubuntu安装配置JDK、Tomcat、SVN服务器

一、安装Jenkins

本文直接使用war包安装

下载地址:https://jenkins-ci.org/content/thank-you-downloading-windows-installer/

Jenkins详细安装与构建部署使用教程[通俗易懂]

war包有两种安装方法

方法一

下载jenkins.war, 拷贝到D:\Java\Tool\jenkins()下,然后运行java -jar jenkins.war. (注意需要先安装JDK,然后设置JAVA_HOME环境变量且将%JAVA_HOME%\bin加入到PATH环境变量中)

运行如下:
 

Jenkins详细安装与构建部署使用教程[通俗易懂]

访问http://localhost:8080 , jenkins的主界面如下:

Jenkins详细安装与构建部署使用教程[通俗易懂]

方法二

把Jenkins 1.409.1版解压,把得到的war包直接扔到tomcat下,启动tomcat,Jenkins就安装完毕,访问http://localhost:8080 

 

二、构建一个Maven项目

1、新建一个job

Jenkins详细安装与构建部署使用教程[通俗易懂]

2、输入名称和项目类型

Jenkins详细安装与构建部署使用教程[通俗易懂]

3、设置编译的版本号等信息

Jenkins详细安装与构建部署使用教程[通俗易懂]

4、设置svn库地址:

输入项目托管的svn的地址,如果有出现要输入账号和密码的地方,输入即可。

Jenkins详细安装与构建部署使用教程[通俗易懂]

如果有出现如下说明用户或密码不对:

Jenkins详细安装与构建部署使用教程[通俗易懂]

 

点击进去重新设置用户和密码

5、配置jdk和maven

第一次打开出现如下,点击进去。要求提示设置JDK和Maven

Jenkins详细安装与构建部署使用教程[通俗易懂]

点击系统管理-》系统设置,找到JDK和Maven的设置位置

选择本电脑的:

Jenkins详细安装与构建部署使用教程[通俗易懂]

9、到这里已经可以构造这个项目了。

点击构建

Jenkins详细安装与构建部署使用教程[通俗易懂]

构建输出的信息:

Jenkins详细安装与构建部署使用教程[通俗易懂]

构建成功输出如下 :

Jenkins详细安装与构建部署使用教程[通俗易懂]

10、验证

这时它已经自动把这个项目打包了一个war包,默认打包到了C:\Users\linbingwen\.jenkins\workspace\JavaWeb\JavaWeb\target

Jenkins详细安装与构建部署使用教程[通俗易懂]

 

或者点击如下:

Jenkins详细安装与构建部署使用教程[通俗易懂]

 

三、自动远程部署到tomcat

接下来要完成自动构建成war包后,将些war包上传到远程linux的tomcat的webapps目录,更新项目的war包,并重启tomcat.

1、安装插件

系统管理-》管理插件,在可选插件里找到下面这个,然后点击直接安装命令,安装成功后要重启jenkins

Jenkins详细安装与构建部署使用教程[通俗易懂]

t笔者在安装插件时报错如下:

Jenkins详细安装与构建部署使用教程[通俗易懂]

 

这应该是天朝的墙所导致的,所以笔者就使用了手动安装的方式。

解决方法:

手动安装

到https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin,下载hpi到本地电脑到

Jenkins详细安装与构建部署使用教程[通俗易懂]

在系统管理–管理插件–高级–浏览-上传插件即可

Jenkins详细安装与构建部署使用教程[通俗易懂]

然后它自动上传并安装:

红色的是笔者在线安装不成功的,蓝色的是笔者安装成功的了,之后重启jenkis即可。

Jenkins详细安装与构建部署使用教程[通俗易懂]

2、配置ssh内容:

在系统管理-》系统设置里

找到Publish over SSH
然后输入:

Jenkins详细安装与构建部署使用教程[通俗易懂]

3、配置Post Steps
这里还是接着上面的JavaWeb项目,这个配置得安装了上面的插件后才会显示!

Jenkins详细安装与构建部署使用教程[通俗易懂]
 

其中,
Transfer SetSource files:表示要上传的本地的war包及路径,可到工作空间去看

Remove prefix:表示要上传时要去除的文件夹,即只上传war包

remote driectory:即表示执行时的路径,相当于把war包上传到这里了

exec commad:要执行的命令

 

要执行的脚本的内容:

#!/bin/sh
#defined 
TOMCAT_HOME="/usr/java/tomcat/apache-tomcat-7.0.67/"
ID=`ps -ef | grep java | grep tomcat|awk '{print $2}'`
echo $ID 
echo "kill tomcat"
kill -9 $ID
echo "remover war file"
cd "$TOMCAT_HOME"/webapps
rm -rf JavaWeb-0.0.1-SNAPSHOT
rm -rf JavaWeb-0.0.1-SNAPSHOT.war
echo "copy war to webapp"
cd /home/lin
cp JavaWeb-0.0.1-SNAPSHOT.war "$TOMCAT_HOME"/webapps
cd "$TOMCAT_HOME"/bin
echo "start tomcat"
./startup.sh

步骤:

先停掉tomcat

删除webapp下对应的war包

复制war到webapps

重启tomcat
 

 

4、构建部署

点击项目的构建按钮,最终出现如下:

 

Jenkins详细安装与构建部署使用教程[通俗易懂]

在linux上打开浏览器,输入http://localhost:8080/JavaWeb-0.0.1-SNAPSHOT/

Jenkins详细安装与构建部署使用教程[通俗易懂]

 

注意:这里配置的ssh用户:lin要有root的权限,要不可以会报错没有权限执行kill 或rm 命令

 

本文使用的Linux:Ubuntu14.04

其中JDK、Tomcat、SVN服务器请看这里Ubuntu安装配置JDK、Tomcat、SVN服务器

更多技术请关注笔者微信技术公众号”单例模式”

Jenkins详细安装与构建部署使用教程[通俗易懂]

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146668.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 初学java,遇到的陌生词语(1)

    初学java,遇到的陌生词语(1)

    2021年9月16日
    44
  • java多线程并发之旅-14-lock free queue 无锁队列[通俗易懂]

    java多线程并发之旅-14-lock free queue 无锁队列[通俗易懂]无锁队列能实现吗?上面说的加锁的环形队列,可以保证线程安全。但是加锁能不能去掉呢?答案是肯定的,请看下面的娓娓道来。i++是原子操作吗?i++和++i是原子操作吗?有一个很多人也许都不是很清楚的问题:i++或++i是一个原子操作吗?在上一节,其实已经提到了,在SMP(对称多处理器)上,即使是单条递减汇编指令,其原子性也是不能保证的。那么在单处理机系统中呢?在编译器对C/C++源代码…

    2022年7月19日
    16
  • linux 内核驱动–Platform Device和Platform_driver注册过程[通俗易懂]

    linux 内核驱动–Platform Device和Platform_driver注册过程[通俗易懂]

    转自网络,自己学习用
     
    从Linux2.6起引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver。
    Linux中大部分的设备驱动,都可以使用这套机制, 设备用Platform_device表示,驱动用Platform_driver进行注册。

    Linuxplatformdriver机制和传统的devicedriver 机制(通过driver_register函数进行注册

    2022年7月24日
    6
  • frp内网穿透原理 解析_梅林frp内网穿透教程

    frp内网穿透原理 解析_梅林frp内网穿透教程frp内网穿透实例前置在这之前,你应该在嵌入式设备上和带有公网IP的服务器上都已经安装好了frp,如果没有的话就翻一下前面几节的内容。今天把frp的官方文档阅读完了,发现这个项目是我们国人主导的,还是比较自豪的;文档写的非常详细,我的建议是全部读一遍吧,花不了你多久时间的,因此也不介绍frp了,直接给出几个我自己的配置实例就可以了。官方文档:FRP这里给出的几个配置实例的原因主要是因为我的应用场景比较特殊,是用在IOT上,也就是寻找一种有效的方式访问到内网里的嵌入式设备,

    2022年9月4日
    2
  • oracle误删数据怎么恢复_oracle数据库恢复数据

    oracle误删数据怎么恢复_oracle数据库恢复数据学习数据库时,我们只是以学习的态度,考虑如何使用数据库命令语句,并未想过工作中,如果误操作一下,都可能导致无可挽回的损失。当我在工作中真正遇到这些问题时,我开始寻找答案。今天主要以oracle数据库为例,介绍关于表中数据删除的解决办法。(不考虑全库备份和利用归档日志)删除表中数据有三种方法:·delete(删除一条记录)·drop或truncate删除表格中数据1.delete

    2022年9月23日
    0
  • SPI协议_Verilog实现「建议收藏」

    SPI协议_Verilog实现「建议收藏」SPI协议_Verilog实现概述:通过Verilog代码+仿真的形式来理解SPI的时序,此处只写了主机发送,从机接收的代码,后待续。。。SPI协议简介●SPI接口介绍  SCK:时钟信号,由主设备产生,所以主设备SCK信号为输出模式,从设备的SCK信号为输入模式。  CS:使能信号,由主设备控制从设备,,所以主设备CS信号为输出模式,从设备的CS信号为输入模式。  MOSI:主设备数据输出,从设备数据输入,所以主设备MOSI信号为输出模式,从设备的MOSI信号为输入模式。  MISO:主设

    2022年10月15日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号