zoukankan      html  css  js  c++  java
  • Centos 下 Jenkins2.6 + Git + Maven Shell一件部署与备份

    使用Jenkins2.6 集成Maven与Git插件做持续集成,同时编写Shell脚本备份与发布(需要稍微知道点Linux/毕竟基于Centos PS:本人Linux也是菜鸡)

    - 下载Jenkins2.6

    官方网站:https://jenkins.io/

    下载地址:https://jenkins.io/download/

    下载下载

    1
    2
    3
    4
    5
    6
    7
    8
    # 指定端口为 18080 且 后台运行 jenkins 并且日志输出到 Jenkins.log中去
    [root@localhost jenkins]# nohup java -Dhudson.util.ProcessTree.disable=true -jar jenkins.war --httpPort=18080 > jenkins.log &

    # 我禁用了 Centos7 自带的防火墙,安装的是 iptables
    [root@localhost jenkins]# service iptables stop

    # 查看启动日志
    [root@localhost jenkins]# tail -n 30 jenkins.log
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    七月 21, 2017 2:10:21 下午 jenkins.install.SetupWizard init
    信息:

    *************************************************************
    *************************************************************
    *************************************************************

    Jenkins initial setup is required. An admin user has been created and a password generated.
    Please use the following password to proceed to installation:

    9fd9b9c8f50247b79b30674c83d6f560 #这一串就是我们的首次访问密码

    This may also be found at: /root/.jenkins/secrets/initialAdminPassword

    *************************************************************
    *************************************************************
    *************************************************************

    七月 21, 2017 2:11:02 下午 hudson.model.UpdateSite updateData
    信息: Obtained the latest update center data file for UpdateSource default
    七月 21, 2017 2:11:03 下午 hudson.model.UpdateSite updateData
    信息: Obtained the latest update center data file for UpdateSource default
    七月 21, 2017 2:11:03 下午 hudson.WebAppMain$3 run
    信息: Jenkins is fully up and running
    七月 21, 2017 2:11:04 下午 hudson.model.DownloadService$Downloadable load
    信息: Obtained the updated data file for hudson.tasks.Maven.MavenInstaller
    七月 21, 2017 2:11:20 下午 hudson.model.DownloadService$Downloadable load
    信息: Obtained the updated data file for hudson.tools.JDKInstaller
    七月 21, 2017 2:11:20 下午 hudson.model.AsyncPeriodicWork$1 run
    信息: Finished Download metadata. 60,360 ms

    我的主机IP:192.168.18.137

    那么应该访问:http://192.168.18.137:18080

    - 安全认证

    安全认证安全认证

    - 插件安装

    插件安装插件安装

    - 耐心等待

    网络好的童鞋会灰常快,可惜我的网速贼渣,在这一步等了差不多有二十来分钟

    耐心等待耐心等待

    - 创建用户

    创建用户创建用户

    - 安装完成

    到这一步说明我们Jenkins已经安装完成并且自带了部分插件(GIT,Email..),接下来 我们来配置JDK与Maven,以及Maven插件

    安装完成安装完成

    - Maven插件安装

    系统管理 -> 管理插件 -> 可选插件 -> 安装完毕 -> 重启Jenkins -> 刷新浏览器

    下图为过滤插件且安装

    Maven插件安装Maven插件安装

    - 全局配置(JDK/Maven)

    系统管理 -> Global Tool Configuration -> 配置JDK -> 配置Maven -> 点击Save

    全局配置全局配置

    - 项目配置

    首页 -> 开始创建一个新项目 -> 构建一个自由风格的软件项目/构建一个Maven项目(如果没安装Maven插件那就构建自由风格的,顶多就是通过构建完成后脚本多一句 mvn package) -> 构建一个Maven项目

    创建项目创建项目

    - 配置GIT账号

    配置GIT配置GIT

    - 配置指令与Shell

    配置指令与Shell配置指令与Shell

    - Shell 脚本

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    [root@localhost battcn-workspace]# touch start-battcn.sh

    [root@localhost battcn-workspace]# chmod 755 start-battcn.sh

    #!/bin/sh
    echo "====================================开始===================================="
    #杀掉8080端口的进程
    kill -9 `lsof -t -i:8080`
    #进入到存放jar目录
    cd /usr/local/battcn-workspace
    #备份jar包(也可以先备份在杀进程)
    cp -p /usr/local/battcn-workspace/battcn-swagger-1.0.0.jar ./backups/battcn-swagger-1.0.0-`date +%Y-%m-%d-%H:%M:%S`.jar
    #删除当前目录下的JAR
    rm -rf battcn-swagger-1.0.0.jar
    #从Jenkins缓存目录拷贝
    cp /root/.jenkins/workspace/battcn-swagger/target/battcn-swagger-1.0.0.jar .
    #查看备份是否成功
    ls -al /usr/local/battcn-workspace/backups/battcn-swagger-1.0.0-*.jar
    #后台启动,且指定了开发环境和内存
    nohup java -jar /usr/local/battcn-workspace/battcn-swagger-1.0.0.jar -Xms512m -Xmx1024m --spring.profiles.active=dev > /dev/null &
    echo "====================================结束===================================="

    - 开始构建

    开始构建开始构建

    - 查看日志

    开始构建开始构建

    只要Jenkins告诉我们构建成功 15:44:03 Finished: SUCCESS 就OK

    查看日志查看日志

    ps aux | grep battcn-swagger 一下 代表我们项目已经成功构建了,且自动备份(第一次是不会备份,因为我们没有原始包,但是以后每次发布都会将)

    1
    2
    3
    [root@localhost battcn-workspace]# ps aux | grep battcn-swagger
    root 16301 9.2 21.2 4060732 397036 pts/1 Sl 15:43 0:28 java -jar /usr/local/battcn-workspace/battcn-swagger-1.0.0.jar -Xms512m -Xmx1024m --spring.profiles.active=dev
    root 16395 0.0 0.0 114712 980 pts/1 S+ 15:49 0:00 grep --color=auto battcn-swagger
    1
    2
    3
    [root@localhost battcn-workspace]# ll backups/
    总用量 22052
    -rw-r--r--. 1 root root 22580820 7月 21 15:43 battcn-swagger-1.0.0-2017-07-21-15:43:52.jar

    - 结束

    - 验证

    访问:http://192.168.18.137:8080/swagger-ui.html

    验证验证

  • 相关阅读:
    JS面向(基于)对象编程--构造方法(函数)
    一个超简单的马里奥游戏
    JavaScript基于对象编程
    JavaScript基础之函数与数组
    Learn CSS
    The first day of HTML
    mysql cmd 无法登录
    datagrid 扩展 页脚 合计功能
    this高级应用
    (xxx.55).toFixed(1) 无法正确进位处理
  • 原文地址:https://www.cnblogs.com/lywJ/p/10715751.html
Copyright © 2011-2022 走看看