一、Jenkins的优点
1、传统网站部署流程
??一般网站部署的流程 这边是完整流程而不是简化的流程
需求分析—原型设计—开发代码—内网部署-提交测试—确认上线—备份数据—外网更新-最终测试
,如果发现外网部署的代码有异常,需要及时回滚。
一般是运维来做 1、功能测试 2、上线的时间 3、 jenkins 4、运维 5、功能测试
2、Jenkins部署流程
??我们可以通过jenkins工具平台实现全自动部署+测试,是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins非常易于安装和配置,简单易用。
简单来说方便如下人员:
- 开发人员:写好代码,不需要自己进行源码编译、打包等工作,直接将代码分支存放在SVN、GIT仓库即可。 war 源码多 自动把代码放到服务器上面
- 运维人员:减轻人工干预的错误率,ansible 一键完成了 同时解放运维人员繁杂的上传代码、手动备份、更新
- 测试人员:可以通过jenkins进行简单的代码及网站测试
3、持续集成的意义 增加工作效率
- 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量
- 持续集成保障了每个时间点上团队成员提交的代码是能成功集成的。换言之,任何时间点都能第一时间发现软件的集成问题,使任意时间发布可部署的软件成为了可能
- 持续集成还能利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集成的质量能帮助团队进行有效决策,同时建立团队对开发产品的信心
4、持续集成的组件
- 一个自动构建过程,包括自动编译、分发、部署和测试
- 一个代码存储库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库,例如SVN、GIT代码库
- 一个jenkins持续集成服务器就是一个配置简单和使用方便的持续集成服务器
二.部署项目
1.创建Jenkins项目
登录Jenkins,点击新建项目
2.丢弃旧的构建 (保留7天,最大构建的最大数100)
3.码云获取HTTP地址 http://172.16.1.161/auto_test/byxf_qa.git
4.Jenkins中配置码云中的地址,并添加登录名密码
三.Jenkins脚本
1.登录部署项目服务器
2.执行脚本
3.脚本内容如下
pwd
cd /root/
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目录已被清空"
原文地址:https://www.cnblogs.com/wangsen-123/p/9065794.html