Jenkin实现项目一键部署

下载 Jenkins (也可官网下载)
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war

安装 jdk  
    配置环境变量  
        vim/etc/profile 
            export JAVA_HOME=/usr/local/src/jdk1.8.0_141(jdk路径)
            export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
            export PATH=$PATH:$JAVA_HOME/bin
            Maven 环境配置
            export MAVEN_HOME=/usr/local/src/apache-maven-3.3.9(Maven路径)
            export PATH=$MAVEN_HOME/bin:$PATH
    刷新配置
        source /etc/profile

安装Maven  安装Git   请各位小伙伴自行百度

重点  打开jenkins客户端后 按照以下步骤搭建,健步如飞(本人花费两天的时间整理)

插件(如有不需要的插件,可自行决定是否安装)

- jobConfigHistory
    • 查看修改历史
    • 可对误删的job进行恢复
- Publish over SSH
    • 远程发布
        ○ 如: 在A机器上打包、发布到B机器上
- Maven Integration
    • 项目依赖管理
- Role Strategy Plugin
    • 权限管理
- Git Parameter
    参数化构建过程 插件

全局配置

- Git
    · 需在jenkins的可视化页面的设置里,指定服务器上git的Path
系统配置
- Publish over SSH
    · name:名称(xxx服务器)
    · Hostname:要发布的服务器ip(0.0.0.0)
    · Username:服务器的用户名(root)
    · Remote Directory:要部署的路径(如/root/tomcat)
    · Passphrase / Password:服务器密码
- Maven
Maven_Home:设置Maven路径

Maven项目创建
    - 选择Maven项目
    - 丢弃旧的构建
        ○ 策略:Log Rotaion
        ○ 保持构建的天数:7
        ○ 保持构建的最大个数:10
        ○ 发布包保留天数:7
        ○ 发布包最大保留#个构建:1
    - 参数化构建过程
        ○ 添加参数:git参数
        ○ 名称:tag
        ○ 参数类型:标签
        ○ 排序方式:DESCENDING_SMART
        ○ 已选值:NONE
        ○ 列表数量:30
    - 源码管理
        ○ Repositories
            § Repository URL:仓库地址
            § Credentials:git仓库的账号密码
        ○ Branches to build
            § 指定分支:${tag}
    - Build
        ○ Root POM:pom.xml
        ○ Goals and options:clean install -Dmaven.test.skip=true(只构建不运行)
            § 构建时跳过Test
    - Post Steps
        ○ 选择 Run regardless of build result

配置到此时 应先去构建项目是否可以成功打成war包,并是否能发布目标服务器,如果成功则可进行下一步配置,否则就要解决打包失败的问题。


    - 构建后操作(此步配置小伙伴可参考理解,不懂可以去查询度娘的回答)
        ○ Set build artifacts over ssh
            § Name:publish over ssh配置后可进行选择
            § Source files:目标文件,如:
                □ **/*.war   (文件)
                □ dist/**      (目录)
            § Remove prefix:target/
                □ 移除目录,否则远程服务器上会新建 target目录
            § Remote directory:去掉选择的Sever Remote Directory要后发送到远程服务的目标路径,如:
                □ /shaolin-app-buildSuccess/
            § Exec command:详见Tomcat发布脚本
            § Exec in pty:执行脚本后关闭

以下为 tomcat启动脚本,也可以自行参考


#!/bin/sh
export BUILD_ID=dontKillMe
set -x
#这里需要改Tomcat路径↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
tomcat_home=/root/tomcat/shaolinapp-houtai-test
#这里需要改Tomcat路径↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

#这里需要改JDK路径↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
export JAVA_HOME=/root/software/jdk/jdk1.8.0_141
#这里需要改JDK路径↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
export PATH=/root/jdk1.8.0_141/bin:/root/jdk1.8.0_141/bin:/sbin:/usr/sbin:/bin:/usr/bin
export CLASSPATH=.:/root/jdk1.8.0_141/lib/dt.jar:/root/jdk1.8.0_141/lib/tools.jar
#【3.1】 停止tomcat变量
SHUTDOWN=$tomcat_home/bin/shutdown.sh

#【3.2】 启动tomcat变量
STARTTOMCAT=$tomcat_home/bin/startup.sh

#【3.4】 获取进程ID
#这里需要改Tomcat路径↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
pid=`ps -ef |grep /root/tomcat/shaolinapp-houtai-test/conf |grep -v grep | awk '{print $2}'`
#这里需要改Tomcat路径↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

# pid存在则Kill PID
echo "-------------"
echo $pid
echo "-------------"
if [ ! -n $pid ]; then
        echo "$tomcat_home未运行"
else
       echo "$tomcat_home运行中"
                kill -9 $pid
fi
#删除Tomcat下备份的文件
#rm -rf $tomcat_home/bak/*
#获取系统时间
#save_date=`date +%Y-%m-%d,%H:%m:%s`
#强制创建 bak目录用来存储备份文件
#mkdir -p $tomcat_home/bak
#备份
#cp $tomcat_home/webapps/ROOT.war $tomcat_home/bak/$save_date.war
#删除webapps 下的root文件
rm -rf $tomcat_home/webapps/ROOT*
#把jenkins打完包后的文件复制到 webapps下
mv $tomcat_home/jenkins-war/ROOT.war $tomcat_home/webapps/
#启动tomcat
nohup bash $STARTTOMCAT 

 

以下是成功部署配图

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值