jenkins自动部署

Posted z_java_20150812

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins自动部署相关的知识,希望对你有一定的参考价值。

转载自:http://blog.csdn.net/xbynet/article/details/52779314


基本

版本JenKins:2.19.1, Maven:3.1

环境要求:

  • Java 7
  • 256MB free memory
  • 1GB+ free disk space

Jenkins官网: https://jenkins.io/index.html

官方文档:https://wiki.jenkins-ci.org/display/JENKINS/Home

jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译、打包、分发部署。jenkins可以很好的支持各种语言(比如:java, c#, php等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接集成。

 

网上对于Jenkins1.x的资料较多,但是对于Jenkins2.x的资料较少,而这两个版本之间变化还是很大的。

 

 

下载后是一个war包(也可以选择windows installer包,最新版本目前没有提供)

将war包放进tomcat即可。

 

初始化配置

访问,如:127.0.0.1:8088/Jenkins

第一次要求输入密码,初始密码在$USER_HOME\\.jenkins\\secrets\\initialAdminPassword文件中查看。然后需要等到十来分钟,

Jenkins初始化结束进入下一步。

选择安装建议的插件。接下来就是安装基本的插件(由于网速与服务器原因,比较慢。要等上几十分钟到几个小时)

这些推荐的插件,目前我们关心的是Subversion Plugin-in ,SSH Slaves Plugin。

 

可供选择的jenkins2 插件镜像列表:

Jenkins 所有镜像列表: http://mirrors.jenkins-ci.org/status.html

比如日本的镜像: http://mirror.esuni.jp/jenkins/, http://ftp.yz.yamagata-u.ac.jp/pub/misc/jenkins/, http://ftp.tsukuba.wide.ad.jp/software/jenkins/

德国的镜像: http://jenkins.mirror.isppower.de/ , http://mirror.yandex.ru/mirrors/jenkins/

官方的镜像: http://mirrors.jenkins-ci.org/, http://archives.jenkins-ci.org/

 

然后会提示设置管理员用户和密码,如下:

 

进入jenkins

经过以上的步骤jenkins已经安装完成。

JDK及Maven

在部署你的项目之前你需要jdk,maven的信息告知Jenkins。

  1. 点击系统管理->Global Tool Configuration:

jdk的JAVA_HOME必须和你环境变量里的jdk保持一致。

 

Maven:

创建一个新任务

 

之后进入任务配置界面:

配置一下工作空间

问题:在这里会遇到不支持Repository URL中含中文的情形:这里我们需要配置Jenkins所在的tomcat的Server.xml文件,修改:加上:URIEncoding="UTF-8"

<Connector port="8088" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" URIEncoding="UTF-8"/>

保存重启Jenkins所在tomcat即可解决,选择所配置的用户,上面的红色错误也不会出现了。

 

接下来就是构建

构建配置

maven version : 选之前录入的maven,pom选pom文件所在的相对位置(此处是相对svn目录的位置)。

点击save后,点击立即构建,就可以构建了,可以在你的工作空间中发现你想要的东西了(war包)。

 

如果出现下面的问题:

方式一:这个问题只需要修改你的pom.xml即可。 加入<defaultGoal>install</defaultGoal>

方式二:当然也可以这样配置:

 

定时构建配置

规则:

MINUTE    Minutes within the hour (0–59)

HOUR    The hour of the day (0–23)

DOM    The day of the month (1–31)

MONTH    The month (1–12)

DOW    The day of the week (0–7) where 0 and 7 are Sunday.

 

指定顺序为MINUTE HOUR DOM MONTH DOW

在某个域指定多个值的规则是:

  • * specifies all valid values
  • M-N specifies a range of values
  • M-N/X or */X steps by intervals of X through the specified range or whole valid range
  • A,B,...,Z enumerates multiple values

如果要定期执行任务,必须提供H (for "hash")标识。

比如0 0 * * *会在同一时间执行所有任务,而使用H H * * *也会在每天执行一次任务,但是并不是同一时间,这样就可以节省很多资源。

H还可以用于范围:H H(0-7) * * * 标识在每天12:00-7:59之间的某个时间执行任务。

 H * * * * 代表每个小时执行一次

H/15 * * * *每15分钟执行一次。

H(0-29)/10 * * * * every ten minutes in the first half of every hour (three times, perhaps at :04, :14, :24)

# once every two hours at 45 minutes past the hour starting at 9:45 AM and finishing at 3:45 PM every weekday.

45 9-16/2 * * 1-5

# once in every two hours slot between 9 AM and 5 PM every weekday (perhaps at 10:38 AM, 12:38 PM, 2:38 PM, 4:38 PM)

H H(9-16)/2 * * 1-5

# once a day on the 1st and 15th of every month except December

H H 1,15 1-11 *

 

 

自动部署

自动部署到tomcat

自动部署需要一个容器,那Jenkins是怎么知道你的容器的呢?容器插件

首页-》系统管理-》管理插件

搜索deploy,很快就会找到这个deploy to container plugin,安装完记得重启。

这个由于网络原因下载会失败,这个时候需要设置镜像站点:

系统设置-》插件-》高级-》Update Site:

默认为: http://updates.jenkins-ci.org/update-center.json

我们改为一个日本的镜像: http://mirror.esuni.jp/jenkins/updates/update-center.json

 

接着选你的项目-》配置

构建后操作

  • WAR/EAR files:是相对于你前面配置的工作空间的。
  • Context path:是你容器部署的目录,如果是tomcat,那么在webapps下,如果你不想要项目名称的话选"\\",填写"ROOT"是不可以的。
  • Containers: tomcat7。当然你要有manager用户信息。在tomcat目录下的conf目录,tomcat-users.xml修改如下:

<role rolename="manager-gui"/>

<role rolename="manager-script"/>

<role rolename="manager-jmx"/>

<role rolename="manager-status"/>

<user password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status" username="tomcat"/>

保存文件。同时保存Jenkins。

先启动你的tomcat,再次点击立即构建。

如上,证明你成功了!打开浏览器访问下工程确认一下。 

自动部署到Weblogic

首先安装Deploy WebLogic Plugin插件。安装好之后,点击

系统配置-全局配置,滑到WebLogic Deployment Plugin出进行配置

其中additional classpath写上weblogic library path :

  • for WLS 8.X /pathtojar/weblogic.jar
  • for WLS 10.3 /pathtojar/wlfullclient.jar
  • for WLS 12.1 /pathtojar/wlthint3client.jar.

wlfullclient.jar生成方法:http://docs.oracle.com/cd/E12840_01/wls/docs103/client/jarbuilder.html

进入weblogic的安装目录例如C:\\Oracle\\Middleware\\wlserver_10.3\\server\\lib,

运行 java -jar wljarbuilder.jar就能生成wlfullclient.jar文件

 

如果存在堆溢出,可以把-Xmx调大一点。

这个Congiguration File的写法如下

<?xml version="1.0" encoding="UTF-8"?>

<config xmlns="http://org.jenkinsci.plugins/WeblogicDeploymentPlugin"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://org.jenkinsci.plugins/WeblogicDeploymentPlugin plugin-configuration.xsd"

<weblogic-targets>

    <weblogic-target>

        <name>my_managed_server1</name>

        <host>_weblogic.admin.server.host_</host>

        <port>_weblogic.admin.server.port_</port>

        <login>_weblogic.admin.server.login_</login>

        <password>_weblogic.admin.server.password_</password>Jenkins+Rancher自动化部署

如何使用jenkins部署jar包

jenkins(三)部署后台服务

使用Jenkins 自动部署发布

jenkins实现项目自动部署

Jenkins 自动化部署上线