Jenkins配置与使用

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/

war包有两种安装方法

方法一

 

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

运行如下:

此处查看登录密码

 

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

方法二

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

 

二、构建一个Maven项目

1、新建一个job

2、输入名称和项目类型

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

4、设置svn库地址:

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

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

 

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

5、配置jdk和maven

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

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

选择本电脑的:

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

点击构建

构建输出的信息:

构建成功输出如下 :

10、验证

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

 

或者点击如下:

 

三、自动远程部署到tomcat

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

1、安装插件

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

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

 

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

解决方法:

手动安装

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

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

然后它自动上传并安装:

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

2、配置ssh内容:
在系统管理-》系统设置里
找到Publish over SSH
然后输入:
3、配置Post Steps
这里还是接着上面的JavaWeb项目,这个配置得安装了上面的插件后才会显示!


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

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

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

exec commad:要执行的命令
要执行的脚本的内容:
[plain] view plaincopy
  1. #!/bin/sh  
  2. #defined   
  3. TOMCAT_HOME="/usr/java/tomcat/apache-tomcat-7.0.67/"  
  4. ID=`ps -ef | grep java | grep tomcat|awk '{print $2}'`  
  5. echo $ID   
  6. echo "kill tomcat"  
  7. kill -9 $ID  
  8. echo "remover war file"  
  9. cd "$TOMCAT_HOME"/webapps  
  10. rm -rf JavaWeb-0.0.1-SNAPSHOT  
  11. rm -rf JavaWeb-0.0.1-SNAPSHOT.war  
  12. echo "copy war to webapp"  
  13. cd /home/lin  
  14. cp JavaWeb-0.0.1-SNAPSHOT.war "$TOMCAT_HOME"/webapps  
  15. cd "$TOMCAT_HOME"/bin  
  16. echo "start tomcat"  
  17. ./startup.sh  
步骤:
先停掉tomcat
删除webapp下对应的war包
复制war到webapps
重启tomcat

4、构建部署
点击项目的构建按钮,最终出现如下:
在linux上打开浏览器,输入http://localhost:8080/JavaWeb-0.0.1-SNAPSHOT/

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

 

本文使用的Linux:Ubuntu14.04

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

 

转发自:https://www.cnblogs.com/wishlix/p/7998957.html

转载于:https://www.cnblogs.com/Bkxk/p/10382979.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249645.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

fastDFS使用

fastDFS : 分布式文件系统C语言开发,fastDFS为互联网量身定制,考虑到了冗余备份,负载均衡,线性扩容...很容易搭建集群文件存储系统.存储在fastDFS图片:相当于存储在本地磁盘一样访问图片:相当于访问本地磁盘存储结构:组名/虚拟磁盘路径/动态生成文件名.扩展名192.168.100.20/gr…

本地环境用eclipse搭建spring源码环境

对于JAVA和.NET开发人员来讲Spring框架并不陌生,对于想进行spring源码学习的同学来讲,在本地下载和构建spring项目很有必要。以下简要说明下Spring源码的下载和在eclipse下的构建方式。 工具/原料 JDK Eclipse 我们需要从源码库下载Spring的源码文件到本…

SpringToolsSuite (STS)或Eclipse安装gradle

对于新手刚进入职场,不知怎么在Spring Tools Suite (STS)或Eclipse上安装gradle,因为该项目自动化构建开源工具在一些企业中是要用的。本经验介绍如何安装。 工具/原料 Spring Tools Suite (STS)或Eclipse开发工具 gradle-5.0-all.zip压缩包 下载Gradle…

[NOI2007]货币兑换

题目 先来画一画柿子 设\(dp_i\)表示你第\(i\)天之后最多剩下多少钱 考虑一下对于\(i\)的转移,我们肯定要在之前枚举一天\(j\)这一天把所有的东西买进来,之后在\(i\)天卖掉 设那天买进\(A\)的量为\(d_a\),买进\(B\)的量为\(d_b\) 我们可以得到…

spring-beans模块分析

描述:spring-beans负责实现Spring框架的IOC模块 UML结构图如下: AbstractBeanFactory:BeanFactory接口的抽象实现类,提供了ConfigurableBeanFactory 完整SPI。 通过DefaultSingletonBeanRegistry实现了单例缓存(singleton cache). 实现了通过…

spark-streaming first insight

一、 Spark Streaming 构建在Spark core API之上,具备可伸缩,高吞吐,可容错的流处理模块。 1)支持多种数据源,如Kafka,Flume,Socket,文件等; Basic sources: Sources dir…

DHCP服务器 出现的故障

系统版本:Windows Server 2008 R2 Standard 故障现象:近段时间,我们核心网络DHCP服务器,总是发现有掉线重起现象,大约每10分钟至30分钟不定时会重起。 故障代码:关键系统进程 C:\Windows\system32\lsass.ex…

双亲委派

双亲委派模式的工作原理的是:如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行,如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将到…

程序设计入门-C语言基础知识-翁恺-第六周:数组-详细笔记(六)

目录 第六章:数组6-1 数组6-2 数组计算6.3 课后习题第六章:数组 6-1 数组 题目:让用户输入一组整数以-1结束输入,算出这组数的平均值,并且输出大于平均值的数。 我们需要记录用户所有输入的数字才能在判断出平均值后输…

Vue学习【第六篇】:Vue-cli脚手架(框架)与实战案例

环境搭建 安装node 官网下载安装包,傻瓜式安装:https://nodejs.org/zh-cn/ 安装cnpm npm install -g cnpm --registryhttps://registry.npm.taobao.org 安装脚手架 cnpm install -g vue/cli 清空缓存处理 npm cache clean --force 项目的创建 创建项目 v…

Docker安装配置教程

Docker安装配置教程

Python学习第十六篇——异常处理

在实际中,很多时候时候,我们并不能保证我们所写的程序是完美的。比如我们程序的本意是:用户在输入框内输入数字,并进行后续数学运算,即使我们提醒了用户需要输入数字而不是文本,但是有时会无意或者恶意输入…

cmd 常用命令

注:绿色的为比较常用的命令 命令名称ASSOC 显示或修改文件扩展名关联。ATTRIB显示或更改文件属性。BREAK 设置或清除扩展式 CTRLC 检查。CACLS显示或修改文件的访问控制列表(ACL)。BCDEDIT 设置启动数据库中的属性以控制启动加载。CALL从另一个批处理程序调用这一个…

js打字的效果

HTML代码&#xff1a; <div id"box"></div> javascript代码&#xff1a; var index 0; var word "8月6日美国的经济“制裁”如约而至&#xff0c;特朗普在社交网站发文称&#xff0c;对伊朗的制裁已经正式实施&#xff0c;他称这是“有史以来最激…

递归函数实现二分查找法

最初版本&#xff1a; 改进版&#xff1a; 最终版本&#xff1a; 递归实现阶乘&#xff1a; 转载于:https://www.cnblogs.com/www-qcdwx-com/p/10399288.html

图解LinkedHashMap原理

1 前言 LinkedHashMap继承于HashMap&#xff0c;如果对HashMap原理还不清楚的同学&#xff0c;请先看上一篇&#xff1a;图解HashMap原理 2 LinkedHashMap使用与实现 先来一张LinkedHashMap的结构图&#xff0c;不要虚&#xff0c;看完文章再来看这个图&#xff0c;就秒懂了…

02、体验Spark shell下RDD编程

02、体验Spark shell下RDD编程 1、Spark RDD介绍 RDD是Resilient Distributed Dataset&#xff0c;中文翻译是弹性分布式数据集。该类是Spark是核心类成员之一&#xff0c;是贯穿Spark编程的始终。初期阶段&#xff0c;我们可以把RDD看成是Java中的集合就可以了&#xff0c;在后…

CDH集群安装配置(四)- mysql 的安装

安装mysql&#xff0c;并且创建相关的表&#xff08;只需要在chd1上面安装而且需要root权限&#xff09;1.1 查看Centos自带mysql是否已经安装 yum list installed | grep mysql 卸载自带mariadb# rpm -qa | grep mariadb mariadb-libs-5.5.41-2.el7_0.x86_64 # rpm -e --nodep…

EF另一个 SqlParameterCollection 中已包含 SqlParameter。

代码&#xff1a; SqlParameter[] commandParameters new SqlParameter[]{new SqlParameter("CultID",filters.ParentID)};var result db.Database.SqlQuery<FM_PlantSolutions>("select s.* ,u.UserName as PrincipalName,isnull(ue.UserName,无) as E…

2019 GUDT RC 2 Problem C(题解)

原题 题目大意 这道题的背景是农夫和牛爬山,给出山的高度L,农夫会从山底以rF的速度爬山,中途不会休息,牛会从山底以rB的速度爬山,可以在休息站休息并吃草,在第i个休息站休息ti时间,牛可以吃t*ci的草,第i个休息站的高度为xi.农夫和牛同时出发,要求牛在不被农夫追上的同时吃最多的…