通常网站部署的流程 这边是完整流程而不是简化的流程
需求分析—原型设计—开发代码—内网部署-提交测试—确认上线—备份数据—外网更新-最终测试
,若是发现外网部署的代码有异常,须要及时回滚,通常是运维来作。git
一、功能测试 二、上线的时间 三、 jenkins 四、运维 五、功能测试shell
咱们能够经过jenkins工具平台实现全自动部署+测试,是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins很是易于安装和配置,简单易用。
简单来讲方便以下人员:api
1.建立Jenkins项目服务器
登陆Jenkins,点击新建项目 运维
2.丢弃旧的构建 (保留7天,最大构建的最大数100)工具
3.码云获取HTTP地址 http://172.16.1.161/auto_test/byxf_qa.git测试
4.Jenkins中配置码云中的地址,并添加登陆名密码网站
1.登陆部署项目服务器spa
2.执行脚本.net
3.脚本内容以下
pwd
cd /root/
mv -f /root/api_auto/static /root/static (移动static下面的全部内容,主要为了保存上传服务器的文件,图片,excel等 )
rm -rf api_auto/* (删除api_auto文件夹下全部内容)
a=`netstat -apn|grep 9000` (执行shell命令并获取结果)
echo $a
if [ -n "$a" ]; then (判断若是有返回值)
echo "端口不为空 匹配端口杀掉进程"
port=`netstat -apn|grep 9000|awk '{ print $7 }'|awk -F/ '{ print $1 }' ` (获取匹配到端口的进程id)
echo $port
kill -9 $port (杀掉进程)
fi
pwd
echo "api_auto目录已被清空"
4.将代码拉倒项目目标服务器上
5.继续登陆139服务器,启动服务便可
当咱们在终端或控制台工做时,可能不但愿因为运行一个做业而占住了屏幕,由于可能还有更重要的事情要作,好比阅读电子邮件。对于密集访问磁盘的进程,咱们更但愿它可以在天天的非负荷高峰时间段运行(例如凌晨)。为了使这些进程可以在后台运行,也就是说不在终端屏幕上运行,有几种选择方法可供使用。
这样,全部的标准输出和错误输出都将被重定向到一个叫作out.file 的文件中。
若是使用nohup命令提交做业,那么在缺省状况下该做业的全部输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:
ctrl + z
能够将一个正在前台执行的命令放到后台,而且处于暂停状态。
Ctrl+c
终止前台命令。
jobs
查看当前有多少在后台运行的命令。
jobs -l选项可显示全部任务的PID,jobs的状态能够是running, stopped, Terminated。可是若是任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识。
echo "在139服务了"
cd /root/api_auto/
rm -rf /root/api_auto/static (删除从git上拉下来的static文件夹)
cp -rf /root/static /root/api_auto/static (复制原来的static文件夹)
rm -rf /root/static (再把原来的删除掉)
pwd
mkdir log (建立日志文件夹)
chmod u+x *.sh
echo "完成"
参考博客地址:https://blog.csdn.net/a877415861/article/details/74544086