Jenkins结合shell脚本实现(gitLab/gitHub)前端项目自动打包部署服务器
原始发布部署:
石器时代的我们,先是本地打包好项目,在去服务器上把原来的文件删了,然后回到本地copy到服务器;
这操看起来简单,实际部署的人就知道多烦了,假如来几个项目都要重新发布;那就爽了;
今天小编分享个自动打包部署方法,Jenkins 上只要你的小鼠标轻轻一点就OK;
正文:
首先是服务器上安装 Jenkins ;前提呢要现在服务器上安装Java 环境 因为他是依据Java 环境运行的;
这里如何安装就不多说了,请参考这位哥们的博文 https://blog.csdn.net/running_shuai/article/details/80625822 基本在服务器上傻瓜式安装就行了;
安装后接下来是时候展现真正的技术了:
注意: 部署前端项目还需要用到 git 以及 node.js ,java项目的话那就是maven了; git 的话;直接在服务器上下载 git 安装解压就行了,没什么好注意的;
jenkins需要git插件来支持git,所以我们需要为jenkins添加Git插件,还有node也是,需要NodeJS Plugin插件, gitLab需要GitLab Plugin,gitHub需要GitHub Plugin,总之需要的插件还蛮多 具体看你项目构成;
下载插件的位置: 系统管理 --> 插件管理 然后就能看到很多插件了,下载下来就行
1.1:配置一个 Publish over SSH (这是你的服务器,你项目要部署到的地方)

1.2: 新建一个任务 (你要发布的项目)


1.3: 配置gitLab / gitHub 源码


1.4: 配置构建触发器

1.5: 构建环境

1.6: 配置构建命令 (就是些在服务器里要执行的命令)

1.7: 我公司项目因为多用的是一段shell脚本 去执行删除、解压等操作的, 这个可忽略,那上面 Exec command 部分你只需 改成加压命令就行 tar –xvf qipweb.tar // 解压 tar包,再点击保存 理解构建就行了,还可以打开控制台输出看构建情况;
1.8: 用脚本执行的话:
#!/bin/sh
# chkconfig:
# description:qinlin
# processname:qinlin
# serviceName 对应的压缩包名字 export serviceName=qipweb backupSuffix=`date +%Y%m%d%H%M%S`
echo '当前服务器时间:'${backupSuffix} d_deploy() {
echo '备份'${serviceName}'服务...'
cp -r /qinlin/data/${serviceName} /qinlin/backup/${serviceName}-${backupSuffix}
echo '删除'${serviceName}'安装包...'
rm -rf /qinlin/data/${serviceName}/*
echo '清除'${serviceName}'旧目录...'
rm -rf /qinlin/deploy/dist/
echo '解压'${serviceName}'安装包...'
tar -zxf /qinlin/deploy/${serviceName}.tar -C /qinlin/deploy/
echo '拷贝'${serviceName}'安装包...'
cp -r /qinlin/deploy/dist/* /qinlin/data/${serviceName}/
cp /qinlin/config/MP_verify_0Ll9VrXDh67K2IPx.txt /qinlin/data/${serviceName}/
}
case $1 in
deploy) d_deploy ;;
*) echo "require start|stop|restart|deploy" ;;
esac
注意: 用这个脚本的话需要在这脚本所在位置执行命令 chmod +x config-run_qipweb.sh 将这脚本变成可执行文件,到时他自己就可以执行了;
1.9: 构建打包




结语: 有问题欢迎留言
Jenkins结合shell脚本实现(gitLab/gitHub)前端项目自动打包部署服务器的更多相关文章
- DevOps系列——Jenkins/Gitlab自动打包部署
前面只说了DevOps的两个基础组件Jenkins和GitLab,客官也不要着急,我们玩就玩的深入一点,Gitlab和Jenkins的各种配置和 插件很多,也够啃一阵子的,不要照着操作一通就感觉万事大 ...
- 解放双手 | Jenkins + gitlab + maven 自动打包部署项目
前言 记录 Jenkins + gitlab + maven 自动打包部署后端项目详细过程! 需求背景 不会偷懒的程序员不是好码农,传统的项目部署,有时候采用本地手动打包,再通过ssh传到服务器部署运 ...
- Github前端项目排名
Github前端项目排名(2016-04-04) 一.前言 近几年前端技术日新月异,从 RequireJS 到 AngularJS 再到 React,似乎每天都有新的技术诞生.而大神们总能第一时间 ...
- Shell脚本,自动化发布tomcat项目【转载】
Shell脚本,自动化发布tomcat项目脚本. 1. vko2c_auto_build_by_scp.sh 文件内容: #---------------------start------------ ...
- Shell脚本,自动化发布tomcat项目【转】
Shell脚本,自动化发布tomcat项目脚本. 1. vko2c_auto_build_by_scp.sh 文件内容: #---------------------start------------ ...
- jenkins中shell脚本编写的两个注意点
在jenkins的build中,如果用shell脚本的话,要记住有两个地方要注意 1.由于默认jenkins是使用/bin/bash -xe xxx.sh来调用脚本的,所以不同于日常写的脚本,任何一行 ...
- 解决Jenkins用shell脚本部署后,Jenkins自动杀掉启衍生出来的守护进程
Jenkins部署java项目遇到的问题: 1.Jenkins执行构建后,需要手动执行startup.sh,站点才能正常访问 产生原因: shell脚本发布时,会衍生进程,Jenkins默认会自动杀掉 ...
- jenkins调用shell脚本 输出带颜色字体
jenkins需要安装AnsiColor插件在构建环境项选择“color ansi console output” 安装插件AnsiColor shell 脚本相关颜色设置 echo -e " ...
- 使用jenkins进行前端项目自动部署
前面的话 后端的nodeJS项目可以使用pm2进行自动部署,由于前端项目打包后是静态资源,不需要进程守护.一般地,前端项目使用jenkins来进行自动部署,包括打包.测试等一系列流程.本文将详细介绍j ...
随机推荐
- Linux的邮件服务器配置
一.邮件服务简介 1.电子邮件服务是Interne上最基本的服务之一,进入互联网的用户不需要任何纸张就可以方便地使用电子邮件来收发邮件 2.Internet上的电子邮件服务都是基于客户/服务器模式的 ...
- mtd-utils交叉编译安装
一.获取源码并解压 存储于/home/zhangyi/work/psoc_ltp/tools-ltp-ddt中,解压后的源码存于上一层目录. 1.mtd-utils-2.0.0 wget ftp:// ...
- bloc控制读写文件
import 'package:flutter/material.dart'; import 'dart:io'; import 'package:path_provider/path_provide ...
- 使用 Nginx 内置 $http_user_agent 来区分( 电脑 pc、手机 mobile、平板 pad )端的内容访问
location / { #pc端内容访问 set $flag "pc"; set $num 1; set $hua "${http_user_agent}"; ...
- java截取2个指定字符之间的字符串
/** * 截取字符串str中指定字符 strStart.strEnd之间的字符串 * * @param string * @param str1 * @param str2 * @return */ ...
- 将markdown文档使用gulp转换为HTML【附带两套css样式】
将markdown文档使用gulp转换为HTML[附带两套css样式] 今天遇到一个需求,即将Markdown文档转为为HTML在网页展示,身为一名程序员,能用代码解决的问题,手动打一遍无疑是可耻的. ...
- windows中cmd常用命令收集
1.经常会启动端口后忘关,需要杀端口的命令:查找端口占用命令 netstat -ano|findstr 端口例如 (8081) 杀端口: taskkill /pid xxxxx - ...
- git checkout --ours 【学习笔记】
用新分支:git checkout --theirs 文件用master分支:git checkout --ours 文件 执行之后git add
- STM32的PA15、PB3、 PB4管脚作普通管脚的解决办法
最近做了一个板子,使用的是SWD方式进行下载程序,仅仅使用到SWDIO(PA13) 和SWCLK(PA14)两个管脚.我将PA15(JTDI)和PB3(JTDO)管脚用于他用(用于点LED使用), ...
- Cent OS & Windows 双系统自定义引导菜单
系统环境 系统:Windows 10 (64-bit) & Cent OS 7 (64-bit) 引导程序:Grub2 编辑 grub.cfg 为了方便,在终端使用命令 su 输入密码进入超级 ...