javaWeb学习JavaSpringBoot

Jenkins自动部署怎么玩

2019-05-07  本文已影响260人  帅大叔的简书

概述

一、环境

二、下载安装

启动成功 安装社区推荐的插件 安装完成

除了放在servlet 容器,也可以通过java -jar jenkins.war & 的方式启动。
如果插件安装失败的话,可以去镜像地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/
手动下载然后通过插件管理中的高级选择进行上传

上传插件

三、全局工具配置

在Jenkins 中的全局工具配置中,配置

四、Github 配置

在Jenkins 访问Github 项目的时候,有时需要授权,为了保险 所以我们在Github上给Jenkins 生成一个令牌(Personal access tokens)。

1、生成 Personal access tokens

生成token令牌 生成token的选项 生成token成功,记录字符串下来,后面用到

2、生成凭据

这个就需要上面生成的token

3、配置Jenkins 的Github Server

进入Jenkins 的系统设置

点击连接测试,出来limit:数字,说明成功

五、构建任务

准备工作都准备好了,开始构建吧。

jenkins-build.png

1、手动构建

这个的意思就是,当你推送代码了,但是Jenkins不会帮你立即部署,需要你主动去点一下构建

当多人开发的时候,没人都推送了才去手动构建也是一个好的方式。缺点:不够自动呗,别急后面有自动

示例图片如下

示例图.png maven,与shell配置示例图.png

BUILD_ID=DONTKILLME 这行是必不可少的,否则会jenkins会杀掉shell进程,导致自动部署失败。

上面保存之后,点击构建,去看看控制台打印

Started by rstyro 这个是通过用户触发的,也就是用户手动构建的

构建成功

test_run.sh 内容如下

#!/bin/bash
BUILD_ID=DONTKILLME
# jenkins 构建之后的jar 根路径
JAR_PATH="/root/.jenkins/workspace/test2"

# 项目 打包之后的路径
PROJ_PATH="/data/jar"

# 打包后的名称
JAR_NAME="springboot-test"

# 文件的后缀
FILE_TYPE="jar"

# 备份的文件夹名称
BACKUP="backup"

### base函数
kill()
{
    pid=`ps -ef | grep $JAR_NAME.$FILE_TYPE |grep -v color |grep -v grep | awk '{print $2}'`
    echo "$JAR_NAME pid is ${pid}"
    if [ "$pid" = "" ]
    then
        echo "no $JAR_NAME pid alive"
    else
                echo "killing start"
        sudo kill -9 $pid
        echo "killing end"
    fi
}

#停止之前的进程
echo "killing before"
kill
echo "killing after"

#创建备份目录
cd $PROJ_PATH

if [ ! -d "$BACKUP" ];then
      sudo mkdir -p $BACKUP
      cd $BACKUP
      sudo mkdir log
fi
echo $PROJ_PATH
cd $PROJ_PATH
#创建运行目录
if [ ! -d run ];then
      sudo mkdir -p run
fi

#备份之前的版本
cd $PROJ_PATH/run
if [ -f "$JAR_NAME.$FILE_TYPE" ];then
    sudo mv $JAR_NAME.$FILE_TYPE $PROJ_PATH/$BACKUP/$JAR_NAME$(date "+%Y%m%d%H%M%S").$FILE_TYPE
fi
if [ -f "print.out" ];then
    sudo mv print.out $PROJ_PATH/$BACKUP/log/print$(date "+%Y%m%d%H%M%S").out
fi

#将打包好的文件移动到run上
cd $JAR_PATH

if [ -d target ];then
      cd target
      sudo mv $JAR_NAME.$FILE_TYPE $PROJ_PATH/run/$JAR_NAME.$FILE_TYPE
      cd ../
fi

#启动服务
cd $PROJ_PATH/run

nohup java -jar $JAR_NAME.$FILE_TYPE >print.out 2>&1 &

这个脚本不是很难,学过点shell都会,这个不适合,你就改就ok了,只是示例

2、自动构建

webhooks 连接成功 配置触发器为webhooks 然后修改代码,看看是否会自动构建

Started by GitHub push by rstyro 这个打印说明通过Github 推送自动触发的,说明Webhooks 配置成功。搞定

六、用户权限管理

1、配置步骤

jenkins-auth.png

2、管理分配角色

jenkins-auth-role.png jenkins-auth-role-manage.png jenkins-auth-role2.png jenkins-auth-role3.png

3、角色选项说明

ok,基本上够用了,一通百通。上面以Github为例,其他的也差不多!!!

上一篇 下一篇

猜你喜欢

热点阅读