linux下部署项目
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下部署项目相关的知识,希望对你有一定的参考价值。
CentOS7下svn+tomcat9.0+maven3.3+jenkins实现web项目自动构建与远程发布
by:授客 QQ:1033553122
目录
CentOS 7操作系统(CentOS-7-x86_64-DVD-1503-01.iso)
下载地址:http://ftp.riken.jp/Linux/centos/7/isos/x86_64/
下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Apache Tomcat(apache-tomcat-9.0.0.M1.tar.gz)
下载地址:http://tomcat.apache.org/download-90.cgi
maven(apache-maven-3.3.9-bin.tar.gz)
下载地址:http://maven.apache.org/download.cgi
jenkins(jenkins.war)
下载地址:https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins
Deploy to container Plugin(deploy-1.0.phi)
下载地址:https://updates.jenkins-ci.org/download/plugins/deploy/
以上软件包集合下载地址:http://pan.baidu.com/s/1c1xnUfu
[[email protected] tmp]# mkdir -p /usr/local/java
[[email protected] tmp]# mv jdk-8u65-linux-x64.tar.gz /usr/local/java
[[email protected] tmp]#cd /usr/local/java/
[[email protected] java]#tar -xvzf jdk-8u65-linux-x64.tar.gz
……
[[email protected] java]# rm -rf jdk-8u65-linux-x64.tar.gz
环境变量配置
[[email protected] java]# vim /etc/profile
添加如下内容:
#added by shouke
export JAVA_HOME=/usr/local/java/jdk1.8.0_65
export JRE_HOME=/usr/local/java/jdk1.8.0_65/jre
CLASSPATH=.:$JAVA_HOME/lib/dr.jar:$JAVA_HOME/lib/tools.jar:
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
[[email protected] bin]# source /etc/profile
查看是否安装成功
[[email protected] java]# java -version
java version "1.8.0_65"
SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
[[email protected] java]#javac -version
javac 1.8.0_65
参考连接:
http://docs.oracle.com/javase/8/docs/technotes/guides/install/linux_jdk.html#BJFJJEFG
[[email protected] tmp]#tar -xvzf apache-tomcat-9.0.0.M1.tar.gz
……
[[email protected] tmp]# mkdir -p /usr/local/apache-tomcat
[[email protected] tmp]# mv apache-tomcat-9.0.0.M1 /usr/local/apache-tomcat/
环境变量配置:
[[email protected] java]# vim /etc/profile
……
#added by shouke
export JAVA_HOME=/usr/local/java/jdk1.8.0_65
export JRE_HOME=/usr/local/java/jdk1.8.0_65/jre
export CATALINA_BASE=/usr/local/apache-tomcat/apache-tomcat-9.0.0.M1
export CATALINA_HOME=/usr/local/apache-tomcat/apache-tomcat-9.0.0.M1
CLASSPATH=.:$JAVA_HOME/lib/dr.jar:$JAVA_HOME/lib/tools.jar:
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$CATALINA_BASE:$CATALINA_HOME
[[email protected] bin]# source /etc/profile
设置管理员帐号密码
[[email protected] apache-tomcat-9.0.0.M1]# ls
bin conf lib LICENSE logs NOTICE RELEASE-NOTES RUNNING.txt temp webapps work
[[email protected] apache-tomcat-9.0.0.M1]# cd conf/
[[email protected] conf]# vim tomcat-users.xml
找到如下内容
在其下新增用户和角色
问题:怎么知道角色是啥角色呢? 如下,点击对应按钮,点击取消,
如下,它会告诉你怎么做的
可根据实际情况设置,修改后的文件配置如下
说明:admin用户可以访问Server Status,Manager App, Host Manager
, hostadmin只可访问Host Manager
启动Apache Tomcat
[[email protected] tmp]# cd /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/
[[email protected] apache-tomcat-9.0.0.M1]# cd bin
[[email protected] bin]# sh startup.sh
Using CATALINA_BASE: /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1
Using CATALINA_HOME: /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1
Using CATALINA_TMPDIR: /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/temp
Using JRE_HOME: /usr/local/java/jdk1.8.0_65/jre
Using CLASSPATH: /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/bin/bootstrap.jar:/usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/bin/tomcat-juli.jar
Tomcat started.
[[email protected] bin]#
防火墙开放默认的8080端口
[[email protected] bin]#firewall-cmd --permanent --zone=public --add-port=8080/tcp
success
[[email protected] bin]#firewall-cmd --reload
访问测试
[[email protected] tmp]# mkdir -p /usr/local/maven
[[email protected] tmp]# tar -xvzf apache-maven-3.3.9-bin.tar.gz
……
[[email protected] tmp]# mv apache-maven-3.3.9 /usr/local/maven/
环境变量设置
[[email protected] tmp]#vim /etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8.0_65
export JRE_HOME=/usr/local/java/jdk1.8.0_65/jre
export CATALINA_BASE=/usr/local/apache-tomcat/apache-tomcat-9.0.0.M1
export CATALINA_HOME=/usr/local/apache-tomcat/apache-tomcat-9.0.0.M1
export MAVEN_HOME=/usr/local/maven/apache-maven-3.3.9
CLASSPATH=.:$JAVA_HOME/lib/dr.jar:$JAVA_HOME/lib/tools.jar:
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$CATALINA_BASE:$CATALINA_HOME:$MAVEN_HOME/bin
[[email protected] tmp]# source /etc/profile
查看是否安装成功
[[email protected] tmp]# mvn -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /usr/local/maven/apache-maven-3.3.9
Java version: 1.8.0_65, vendor: Oracle Corporation
Java home: /usr/local/java/jdk1.8.0_65/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-229.el7.x86_64", arch: "amd64", family: "unix"
参考连接:http://maven.apache.org/install.html
[[email protected] tmp]# ls
jenkins.war
[[email protected] tmp]# cp jenkins.war /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/webapps/
重启apache tomcat服务器
[[email protected] bin]# sh /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/bin/shutdown.sh
[[email protected] bin]# sh sh /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/bin/startup.sh
访问jenkins
1)系统管理-系统设置
2)系统管理-安全设置
提交后如下
注册并登陆
3)系统管理-插件管理
1)Deploy to container Plugin
安装方法1、在线安装
系统管理->管理插件->可选插件->过滤,输入Deploy to container Plugin,
缺点:可能无法下载,GFW太强大了
安装方法2、本地安装
下载插件,插件集合下载地址:
https://updates.jenkins-ci.org/download/plugins
Deploy to container Plugin下载地址:
https://updates.jenkins-ci.org/download/plugins/deploy/
系统管理->管理插件->高级->上传插件->浏览,打开.phi插件->上传
查看是否安装成功
点击 【新建】、【创建一个新任务】(从未创建过任务的情况)
如上图,填写好item名称,点击【OK】
代码结构如下:
选择Subversion,填写版本库代码url
如上,提示No credential,点击 enter credential,打开如下界面
如上,填写代码库所在url及用户名称和密码,点击【OK】提交
返回到刚才的页面,刷新,重新填写,结果如下
构建触发器
说明:
1)Poll SCM:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作。
2)Build periodically:按给定周期,定时构建(它不管源码是否发生变化)
示例:
*/60 * * * * (意为每60分钟检查一次源码变化)
0 2 * * * (每天2:00 执行一次构建)
这里和linux crontab文件配置是一致的。
参考连接:
[[email protected] workspace]# pwd
/root/.jenkins/jobs/test_project1/workspace
[[email protected] workspace]# ll
total 56
-rw-r-----. 1 root root 16629 Dec 20 17:21 pom.xml
-rw-r-----. 1 root root 3235 Dec 20 17:21 readme.txt
drwxr-x---. 2 root root 4096 Dec 20 17:21 review
drwxr-x---. 4 root root 4096 Dec 20 17:21 src
drwxr-x---. 8 root root 4096 Dec 20 17:21 target
-rw-r-----. 1 root root 16664 Dec 20 17:21 版本变更记录.txt
注意:这里的pom设置是有讲究的,参考连接:
http://my.oschina.net/u/260244/blog/318755#OSC_h3_16
如上,Post steps,选择仅build成功时才运行Post Steps
如上,点击【增加构建后操作步骤】,选择Deploy war/ear to a container,设置远程发布项目
说明:
1) 构建时会在目录:/root/.jenkins/jobs/item_name/workspace/target下生成filename.war文件,本例中为:
/root/.jenkins/jobs/test_project1/workspace/target/appServer.war
2) WAR/EAR files:填写.war、.ear文件所在的相对路径
3) Context Path:填写要发布至远程服务器的位置,通常是tomcat的webapps
4) 通常不勾选【Deploy on failure】,即构建失败则不发布
5) 这里也可以用Publish over SSH来实现远程发布,参考连接:
http://jdkleo.iteye.com/blog/2159844
如上,点击 Add Contianer,可以选择容器类型,这里选择Tomcat 7.x,然后填写入Tomcat 管理员(具有manager-gui角色的tomcat用户),密码,Tomcat连接
最后提交,如下
如下,点击右侧按钮,开始第一次构建
点击连接查看Console Output
如下,第一次会根据pom.xml下载相关文件
附pdf版本下载:
以上是关于linux下部署项目的主要内容,如果未能解决你的问题,请参考以下文章