1. Maven安装

下载maven安装包,放置在usr/maven目录下:apache-maven-3.2.5-bin.tar.gz

tar zxvf apache-maven-3.2.5-bin.tar.gz

生成目录

配置环境变量:

Vi /etc/profile

增加:

MAVEN_HOME=/usr/maven/apache-maven-3.2.5

PATH=$PATH:$MAVEN_HOME/bin

export PATH MAVEN_HOME

保存:esc  :wq 回车

执行 source /etc/profile  刷新环境变量配置,即可生效

 mvn -v 查看maven版本

2. Ant安装

下载ant安装包,放置在usr/ant目录下:apache-ant-1.9.7-bin.tar.gz

tar zxvf apache-ant-1.9.7-bin.tar.gz

生成目录:apache-ant-1.9.7

配置环境变量:

Vi /etc/profile

增加:

ANT_HOME=/usr/ant/apache-ant-1.9.7

PATH=$PATH:$ANT_HOME/bin

export PATH ANT_HOME

保存:esc  :wq 回车

执行 source /etc/profile  刷新环境变量配置,即可生效

 ant -version 查看ant版本

3. jenkins安装

下载jenkins的war包:http://mirrors.jenkins-ci.org/war/latest/jenkins.war

war包放至节点webapps目录下

再回到节点bin目录

启动web服务:./startup.sh

假设该节点的http端口是8080

则在浏览器上:http://ip:8080/jenkins/

注:若打不开

tomcat./shutdown.sh

查看端口是否被占用:lsof -i:8080

若占用,kill -9 pid

重启tomcat./startup.sh

4. Jenkins配置

4.1 系统管理

在已运行的Jenkins主页中,点击左侧的【系统管理】进入如下界面:

4.1.1 提示信息

Ps:版本不同提示的消息有可能不同

4.1.1.1 Utf-8编码

Jenkins建议在tomcat中使用utf-8编码,配置tomcatconf目录的server.xml文件

Ps:如果Job的控制台中文输出乱码,请将URIEncoding=”utf-8”更改为useBodyEncodingForURI="true"

4.1.1.2 新的版本

 

提示有新的版本可以下载了,喜欢更新的点击download去下载吧!

4.1.1.3 安全设置

Jenkins允许网络上的任何人代表您启动进程。考虑至少启用身份验证来阻止滥用。点击Dismiss忽略该消息,点击Setup Security进入设置界面.

设置如上图,保存后系统管理中就出现管理用户的选项。页面右上角也会出现登录/注册的选项。

右上角点击注册,

注册完成后为登录状态

4.1.2管理插件

4.1.2.1 Deploy to container plugin

(通过该方式部署时,安装该插件)

在已运行的Jenkins主页中,点击左侧的系统管理—>管理插件

在可选插件中安装Deploy to container plugin,这个插件将生成的构件(war或者ear)部署到容器中。

或者在高级选项卡中自己下载上传所需的插件:

4.1.2.2 Publish Over SSH

通过SSH远程部署时安装该插件

系统管理→管理插件→可选插件→Artifact UploadersPublish Over SSH,安装完成后,重启jenkins

4.1.2系统设置

在已运行的Jenkins主页中,点击左侧的系统管理—>系统设置,进入如下界面

3.1.2.1 JDKMavenAnt配置

配置一个JDKAntMaven实例,每一节下面单击Add(新增按钮,添加实例的名称和绝对地址。

JDK别名:随便填

JAVA_HOME:本机JDK的安装路径(错误的路径会有红字提示你的)

自动安装:不推荐这个选项

AntMaven的配置也是类似

3.1.2.2 Jenkins Location

填写Jenkins URL,若要配置邮件通知,输入管理员邮件地址

3.1.2.3 Subversion

选择SVN版本

3.1.2.4 邮件通知

配置邮件通知:

可发送测试邮件测试是否配置成功。

3.1.2.5 Publish over SSH

通过SSH远程部署时配置该项

公共配置:

Passphrase:密码(key的密码)

Path to keykey文件(私钥)的路径

Key:将私钥复制到这个框中

Disable exec:禁止运行命令

私有配置:

SSH Server Name:标识的名字(随便取)

Hostname:需要连接ssh的主机名或ip地址(建议ip

Username:用户名

Remote Directory:远程目录

Use password authentication, or use a different key:可以替换公共配置(选中展开的就是公共配置的东西,这样做扩展性很好)

私有配置的高级:

Port:端口(默认22

Timeout (ms):超时时间(毫秒)默认即可

Disable exec:禁止运行命令

Test Configuration:测试连接 

 

其他配置可按默认配置。

保存!

4.2 项目配置

4.2.1 新建项目

以构建一个maven项目为例:

4.2.2 配置

4.2.2.1 源码管理

本项目使用SVN管理源代码,填写 Repos URL

若没有权限,点击 enter credential ,输入用户名、密码登录

Pssvn的用户名和密码设置了是没有办法在web界面修改的。如果要修改则先去Jenkins目录删除hudson.scm.SubversionSCM.xml文件(点到为止

4.2.2.2 构建触发器

Build other projects are built:指定的项目完成构建后,触发此项目的构建。

Build periodically :此选项仅仅通知Jenkins按指定的频率对项目进行构建,而不管SCM是否有变化。如果想在这个Job中运行一些测试用例的话,它就很有帮助。

 

Poll SCM :这是CI 系统中常见的选项。当您选择此选项,您可以指定一个定时作业表达式来定义Jenkins每隔多久检查一下您源代码仓库的变化。如果发现变化,就执行一次构建。例如,表达式中填写0,15,30,45 * * * *将使Jenkins每隔15分钟就检查一次您源码仓库的变化。

4.2.2.3 maven构建设置

Root POM:填写你项目的pom.xml文件的位置,注意:是相对位置,如果该文件不存在,会有红色字提示。

Goals and options clean install  -Dmaven.test.skip=true 

clean package  -Dmaven.test.skip=true #加入了跳过测试的代码

4.2.2.4 构建后操作

4.2.2.4.1 War文件部署设置

若使用deploy plugin插件部署,首先必须安装好Deploy Plugin插件

其次webapps目录下必须有manager文件夹。

 

然后tomcatconf目录配置tomcat-users.xml文件,在<tomcat-users>节点里添加如下内容:

<role rolename="manager-gui"/>

<role rolename="manager-script"/>

<role rolename="manager-jmx"/>

<role rolename="manager-status"/>

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

引号里的usernamepassword可以随便设置

回到Jenkins项目配置页面

4.2.2.4.1 远程部署配置

1)构建后操作选择:deploy war/ear to a container

WAR/EAR fileswar文件的存放位置,如:target/test.war ,注意:相对路径,target前是没有/的。

Context path:访问时需要输入的内容,如test访问时如下:http://192.168.x.x:8080/test/如果为空,默认是war包的名字。

Container:选择你的web容器,如tomca 7.x

Manager user name:填入tomcat-users.xml配置的username内容

Manager password:填入tomcat-users.xml配置的password内容

Tomcat URL:填入http://192.168.X.X:8080

Deploy on failure:构建失败依然部署

注意:虽然这种部署方法可能会导致tomcat加载时出现卡死的现象。但是也是最简单的部署方式。如果卡死了重启下就好了,将tomcatjava内存参数调高可以解决这个问题。

最后点击保存!!

到此一个项目的获取源码,打包,远程部署,邮件通知就完成了。

2)构建后操作选择:Send build artifacts over SSH

SSH  Server

 Name选择一个在系统设置里配置的名字

Transfer Set

Source files:需要上传的文件(注意:相对于工作区的路径。看后面的配置可以填写多个,默认用,分隔)。如:target/ebop-server-0.0.1-SNAPSHOT.war

Remove prefix:移除目录(只能指定Transfer Set Source files中的目录)。如:target

Remote directory:远程目录(根据你的需求填写吧,因为我这儿是测试,所以偷懒没有填写。默认会继承系统配置)。如://usr/tomcat/tomcat-server

Exec command:把你要执行的命令写在里面。如:

cd /usr/tomcat/tomcat-server

bin/startup.sh

ps -ef | grep tomcat-server | grep -v grep | cut -c 9-15 | xargs kill -9

rm -rf webapps/ebop-server-0.0.1-SNAPSHOT.war

rm -rf webapps/ebop-server-0.0.1-SNAPSHOT

mv ./ebop-server-0.0.1-SNAPSHOT.war ./webapps/ebop-server.war

cd bin

./startup.sh

Ps:

ps -ef | grep tomcat-server | grep -v grep | cut -c 9-15 | xargs kill -9

说明:

grep tomcat-server”的输出结果是,所有含有关键字“tomcat-server”的进程。

grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。

cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID

xargs kill -9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -9”命令的参数,并执行该命令。“kill -9”会强行杀掉指定进程

 

posted on 2016-10-29 14:33  栀子花开~smile  阅读(335)  评论(0编辑  收藏  举报