目录
1. Jenkins部署Java工程说明
2. Jenkins中设置远程连接Linux的账户
3. Jenkins中,对应Job的配置说明
4. Jenkins部署WEB工程
1. Jenkins部署Java工程说明
(1)可以用Jenkins的中一个job对一个Maven项目下的多个工程文件夹进行管理和 *** 作:可以在一个job中实现编译,打包,部署。而不需要建立4个job。
(2)Java的Maven工程结构构建顺序是:
-> parent (使用mvn install 生成对pom的引用)
->common, common-core(使用命令 mvn install 生成对应的jar包)
->具体工程(使用命令 mvn clean package 生成对应的war包)
(3)在Jenkins上通过新建job,实现自动化构建和部署java工程到linux机器上。
安装好Linux后,需要关闭系统的防火墙。
然后安装tomcat和jdk,并配置好环境变量。
安装好tomcat后,需要对tomcat的配置文件进行修改,以符合部署系统的要求。
之后再启动tomcat, 为后续的部署系统做准备。
(4)为了便于Jenkins的部署和管理,需要统一命名tomcat目录名称和工程名称。
并根据部署的环境要求,如何配置哪个工程需要部署到哪台机器的tomcat中。
根据需求修改tomcat的conf目录下的文件: server.xml, tomcat-user.xml。
其中修改server.xml的3个地方port的值,各个tomcat中的port值需要唯一且未被系统占用。
如果所有的Java工程是部署到不同的机器上,则需要在Jenkins上配置连接到不同机器的ssh用户。
如果所有的Java工程都部署到一台机器上,则只需配置1个ssh用户。
2. Jenkins中设置远程连接Linux的账户(1)将文件中的sh脚本放到对应工程机器的/usr/local/src目录下。比如:test_project_xxx.sh
即:需要将该脚本上传到部署工程机器的/usr/local/src目录下,其他脚本同理。
(2)在Jenkins的系统管理->系统配置->Publish over SSH中,做相应的设置。
注意,要先确保已经安装了Publish over SSh插件。
具体配置信息如下。
3. Jenkins中,对应Job的配置说明
(1) 在job的构建后步骤中,添加如下选项,以及配置内容
选项解析:
Transfer Set Source files:Jenkins服务器上war包的路径和包名
Remove prefix:Jenkins服务器上war包的路径
Remote directory:war包上传到被部署的机器上所存放的路径
Exec command:要执行的shell脚本命令,以shell文件的形式被调用
示例:
Transfer Set Source files: /test_project/admin/target/*.war
Remove prefix: /test_project/admin/target/
Remote directory: /test_project
Exec command: bash /data/local/test_project/test_project_admin.sh //自动打包部署的shell脚本
自动化部署脚本参考
#!/bin/bash
set -x
source /etc/profile
id=`ps -ef | grep java | grep tomcat_test_project_admin | awk '{print $2}'`
............... (稍后补)
注意:
如果在调用linux上的shell脚本时,shell脚本没有错误,但是在调用时发生了错误,可通过dos2unix将shell转换后,再执行。
执行脚本的步骤:
先停掉tomcat服务,再删除tomcat中的webapps目录下的应用文件夹和应用war包,赋值要部署的新war包到webapps目录下,重新启动tomcat服务。
(2)在系统管理->系统配置->Publish over SSH中,新增SSH Servers。
其中 Remote Directory的配置为:test_project。
该目录会合并上面的额目录,最后war包会放到/data/local/test_project下。
4. Jenkins部署WEB工程(1)第一种方法
将该项目部署到对应的web容器中,比如部署到tomcat容器中。
(2)第二种方法
(3)执行的shell脚本参考:scp-admin.sh脚本内容如下,放在/home/test目录下
#!/bin/bash
projectFile=`ls /usr/local/workspace/test_project/admin/target/*.war`
if.........................
(稍后补)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)