zoukankan      html  css  js  c++  java
  • Jenkins--H5前端部署自动化(Jenkins在Linux系统)

    由于H5前端打包需要用到npm,所以Jenkins服务器需要先安装好nodejs及npm(安装比较简单,随便百度一下就有教程) 。

    首先看一下构建页面:

    Job工程配置及脚本:

    一、参数配置:

    git参数配置

     服务器选择参数

     其他参数:

     

     

     二、源码管理

     三、构建步骤

    安装npm依赖,以及npm打包,最后把打的包分客户端和服务端各自打成gz包,以方面推送到各自的服务器上面,并把部署通知到企业微信

     脚本如下:

    #!/bin/sh -l
    git rebase origin/$GITBranch;
    if [ -d "$WORKSPACE/dist" ];then
    rm -rf $WORKSPACE/dist
    fi
    # 更换淘宝源
    # npm config set registry https://registry.npm.taobao.org ;
    
    if [ $DeleteNM == Y ];then
    rm -rf node_modules
    fi
    
    echo 开始构建:$pro_name
    
    echo 安装依赖: 执行npm install
    npm install npm -g
    npm install --registry https://registry.npm.taobao.org
    
    echo 执行build: npm run build:test
    npm run build:test
    echo 进入dist目录
    cd dist
    
    echo 把assets打包为Client.tar.gz,除了pm2.json外其他打包为Server.tar.gz
    tar -zcvf Client.tar.gz assets
    sleep 1
    tar --warning=no-file-changed -zcvf Server.tar.gz *  --exclude=pm2.json --exclude=Client.tar.gz
    cd -
    
    curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=f088b2d7-6cd0-488d-a28d-2e4c9babb78b' -H 'Content-Type: application/json' -d '{"msgtype":"text","text":{"content":"部署提醒
    LuckyPanda-Front开始部署...
    大概2~3分钟~~","mentioned_list":["@all"]}}'

    四、构建后操作

     打开高级,设置服务器标签:

    Exec command脚本如下:

    cp /home/wtttest/dist/Client.tar.gz $ClientDist
    echo 解压$ClientDist目录的Client.tar.gz包到当前目录
    cd $ClientDist
    tar zxvf Client.tar.gz
    echo 解压完成,删除掉Client.tar.gz
    rm -rf Client.tar.gz
    rm -rf /home/wtttest/dist/Client.tar.gz

     Exec command脚本如下:

    echo 解压$ServerDist目录的Server.tar.gz包到当前目录
    cd $ServerDist
    tar zxvf Server.tar.gz
    echo 解压完成,删除掉Server.tar.gz
    rm -rf Server.tar.gz
    echo 重启服务LuckyPanda
    pm2 restart pm2.json
    pid=`pm2 list|grep panda-app|awk '{print $12}'`
    if [ "${pid}" ]; then
        echo "restart ok,server is running and pid=$pid"
        echo 部署完成
    else
       echo "restart fail,server is not started"  
        exit 1
    fi

    下面是构建后推送构建结果到企业微信,此构建后步骤可以省略……

    完成。

    晚生不才,请多指教!
  • 相关阅读:
    activity学习参考
    Activity工作流入门
    Mysql 命令查看函数,触发器。。
    本地redis下载并启动
    Could not initialize class com.taobao.diamond.client.impl.DiamondEnvRepo
    mysql把表(表已有数据)的某列属性由空到非空,以及常用列操作
    easyexcel导出两种方式response返回文件流下载和保存到服务器返回下载链接
    EasyExcel导出带下拉框,并解决导出之后打开总是显示发现不可读取内容
    el-table的fixed固定列属性导致数据错位
    el-input按回车时,解决同时触发回车和失焦事件的问题
  • 原文地址:https://www.cnblogs.com/lkc-test/p/15350008.html
Copyright © 2011-2022 走看看