文档章节

Jenkins自动化部署

夜华-Q
 夜华-Q
发布于 2017/08/31 20:30
字数 774
阅读 2
收藏 0

1、jenkins解压有两种方法:

(1)在安装jdk的条件下 ,在Jenkins.war所在的目录下执行: java -jar Jenkins.war;

设置指定端口:

java -jar jenkins.war -httpsPort=8443 -httpPort=-1

jenkins通过https端口8443运行,而http的端口设置为-1关闭。

(2)将jenkins放到Tomcat中并解压,启动Tomcat,成功启动之后访问ip和端口如下:

2.创建任务

2.1点击“新建”

2.2 输入任务名称,任意名称都可以,但最好是有意义的名称,这里输入项目名称为hummer

2.3选择项目类型,这里我选择“构建一个多配置项目”,点击“OK”

2.4界面如下:

 

 

为了避免构建时的冲突,勾选“丢弃旧的构建”,设置”保持构建的天数“、”保持构建的最大个数“,如图:

2.5源代码管理根据自己的需要进行选择:SVN和Git这两种管理源代码的工具,这里我选择Git,设置URL。

刚才的那个界面比较大,向下滚动,中间部分的界面如下:

触发器:

2.6 build设置不用修改,就使用pom.xml,目标选项也不用修改。

2.7 设置构建后的步骤,(Post Steps,可选设置 ),我这里要求构建成功后把war文件复制到指定的目录,然后停运tomcat,删除项目web目录,启动tomcat。

构建环境:

 

 

Exec command:

cd /opt/dev/fuyi-public/webapps/

rm -rf /opt/dev/fuyi-public/webapps/WEB-INF

/opt/soft/java/bin/jar -xvf /opt/dev/fuyi-public/webapps/fuyi-public.war

rm -rf /opt/dev/fuyi-public/webapps/fuyi-public.war

sh /opt/dev/fuyi-public/restart.sh

 

脚本:

#!/bin/bash

folder=`pwd $0`

folder="$folder"/backup

dirname=$(cd `dirname $0`; pwd)

filename=`basename $dirname`

time=`date +%Y%m%d%H%M`

 

if [ ! -d "$folder" ]; then

mkdir "$folder"

fi

tar -zcf $folder/$filename.tar.gz.$time $dirname/webapps

 

cd $dirname/webapps/

rm -rf $dirname/webapps/WEB-INF

/opt/soft/java/bin/jar -xvf $dirname/webapps/$filename.war

rm -rf $dirname/webapps/$filename.war

 

 

2.8设置邮件通知:勾选“E-mail Notification”,在recipients中录入要接收邮件的邮箱,点“保存”,完成设置

设置钉钉:

3.在工作区域的左边菜单上点“立即构建”,开始构建项目,

如果构建成功,则项目状态的S为蓝色,如果失败则为红色

构建完成,左边菜单会显示有“控制台输出”,点击可以查看控制台详细输出。构建错误时也可以根据相应的错误信息进行修改。

 

 

http://blog.csdn.net/xlgen157387/article/details/50353317

 

http://blog.csdn.net/tengdazhang770960436/article/details/53842604

 

------------------jenkins--的脚本---------------

sh /opt/web/qifu-product-web/backup.sh

sh /opt/web/qifu-product-web/restart.sh

-------------------------------------------------

restart.sh和backup.sh 的配置如下:

restart.sh和 backup.sh的路径与webapps同级

----------------------------------------------------------------------------------------------------------------------------

tomcat 的 restart配置(restart.sh):

 

#!/bin/sh

TOMCAT_HOME=/opt/soft/tomcat

CATALINA_BASE=$(cd "$(dirname $0)"; pwd)

CATALINA_PID=$CATALINA_BASE/tomcat.pid

 

JAVA_HOME=/opt/soft/java

CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

PATH=$PATH:$JAVA_HOME/bin

JAVA_OPTS="-server -Xms1g -Xmx1g -Xmn512m -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=512m -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:SurvivorRatio=4 -XX:MaxTenuringThreshold=10 -XX:CMSInitiatingOccupancyFraction=80"

 

 

export TOMCAT_HOME CATALINA_BASE CATALINA_PID JAVA_HOME CLASSPATH PATH JAVA_OPTS

 

sh $CATALINA_BASE/stop.sh

sh $CATALINA_BASE/start.sh

--------------------------------------------------------------------------------------------

 

----------------backup.sh---------存在打包备份------------------------

#!/bin/bash

folder=`pwd $0`

folder="$folder/backup"

dirname=$(cd `dirname $0`; pwd)

filename=`basename $dirname`

time=`date +%Y%m%d%H%M`

 

if [ ! -d "$folder" ]; then

mkdir "$folder"

fi

tar -zcf $folder/$filename.tar.gz.$time $dirname/webapps

 

cd $dirname/webapps/

rm -rf $dirname/webapps/WEB-INF

/opt/soft/java/bin/jar -xvf $dirname/webapps/$filename.war

rm -rf $dirname/webapps/$filename.war

 

-------------------------------------

Jenkins使用手册.pdf

-----------------------------------------------

© 著作权归作者所有

夜华-Q

夜华-Q

粉丝 1
博文 18
码字总数 16519
作品 0
后端工程师
私信 提问
gitlab+jenkins+maven持续集成自动化部署平台

背景:为了改变目前手工发布项目的流程烦锁,耗时,容易出错,浪费人力物力财力,低效的状况,搭建基于docker容器化的git+jenkins+maven持续集成自动化部署平台,实现从代码提交到生产部署的...

xiejunbo
2017/10/26
0
0
前端自动化部署方案探索(二):Jenkins篇

碎碎念 工作日每天回到家只想睡觉,拖到现在才开始写这篇文章,不得不说只有周末在闲暇之余才有心情写自己的代码或者文章。 前言 上一篇讲了如何使用Docker去部署应用,但其实在自动化部署的...

Lymon
06/03
0
0
使用 Jenkins 构建 Coding 项目 (资源)

Jenkins简介 Jenkins是一种跨平台的持续集成和交付的应用软件,它便于不断稳定地交付新的软件版本,并提高你的工作效率。这款开发运维工具还让开发人员更容易把项目的变化整合起来,并使用大...

寰宇01
2018/04/23
0
0
使用 Jenkins + Ansible 实现自动化部署 Nginx

本文首发于:Jenkins 中文社区 本文介绍如何使用 Jenkins + Ansible 实现对 Nginx 的自动化部署。最终达到的效果有如下几点: 只要你将 Nginx 的配置推送到 GitHub 中,Jenkins 就会自动执行...

Jenkins中文社区
04/25
0
0
持续集成与部署的 3 个最佳实践

了解自动化,使用 Git 存储库以及参数化 Jenkins 管道。 本文涵盖了三个关键主题:自动化 CI/CD 配置、使用 Git 存储库处理常见的 CI/CD 工件、参数化 Jenkins 管道。 术语 首先,我们定义一...

作者: Austin Dewey
2018/12/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

好文:华杉:我等用功,不求日增,但求日减。减一分人欲,则增一分天理,这是何等简易!何等洒脱!

#写在前面1.怎么理解“减一分人欲,则增一分天理,这是何等简易!”?1)华杉提倡 “一劳永逸” 排除浪费,少干活,多赚钱,一战而定,降低作业成本。2)华杉提倡学海无涯,回头是岸...

阿锋zxf
15分钟前
1
0
vue 的bus总线

bus声明 global.bus = new Vue() 事件发送 controlTabbar () {global.bus.$emit('pickUp', 'ddd')}, 事件接收 global.bus.$on('pickUp', (res) => {this.isFocus = true})......

Js_Mei
20分钟前
2
0
大型系统演进之路-负载均衡演进

Nginx做负载均衡 通过Nginx的反向代理将请求分发到tomcat中,如果tomcat支持100并发,Nginx支持50000并发,理论上nginx把请求发送到500个tomcat就可以了。 LVS或F5做多个Nginx负载均衡 Tomc...

春哥大魔王的博客
24分钟前
4
0
Sqlite时间段查询中遇到的问题

问题: 我要查询DateTime时间其中的一段符合时间要求的数据,比如我要查询‘2019-06-06 16:50:00’至‘2019-06-06 16:59:00’这一段的数据 开始用这段代码 strSql= ("select * from Coll...

rainbowcode
28分钟前
2
0
大数据(hadoop-数据入库系统Sqoop原理架构)

Sqoop是什么 Sqoop:SQL-to-Hadoop 连接传统关系型数据库和Hadoop的桥梁 把关系型数据库的数据导入到 Hadoop 系统 ( 如 HDFS、HBase 和 Hive) 中; 把数据从 Hadoop 系统里抽取并导出到关系型...

这很耳东先生
43分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部