最近跟一个同事完成了项目的自动部署功能。
一, 实现功能
部署包括war包,数据库脚本和发邮件三个部分。
war部署: 1),从SVN获取最新代码.
2), 自动打包.
3), 上传linux服务器.
4), 登录服务器,切换用户并部署war
5), 检查版本更新, 检查产品网站是否可以登录.
数据库部署: 1), 更新数据库脚本
2), 获取更新文件
3), 连接服务器,执行脚本更新并记录日志
4), 查询,看是否有执行失败脚本. 有: 发邮件通知
二, 使用工具
1, Jenkins: 实现自动部署及邮件通知等功能
2, bitbucket: 代码托管工具, 托管的是自动部署的脚本代码
3, cygwin: 一个windows运行的liunx模拟器
三, 实现遇到的问题
1), 自动登录linux切换用户
之前试过很多软件,不支持切换用户,之前都是手动登录服务器切换用户,执行部署脚本
2), 自动验证部署成功
验证成功不仅仅看网站是否能打开还要看tomcat的war是否是当前部署的时候,
有时候tomcat虽然启动,但是产品还是之前的,虽然war是当前时间,没查为什么会这样
3), 自动发邮件
虽然jenkins 里面有自动发邮件功能,但是jenkins部署的服务器无法连接到我们公司的SMTP.
折中在我们的产品服务器进行了邮件发送
四, 总结
1, 所以涉及到的sh代码, 存于网盘 darren/java/GXD/auto_deployment
2, 了解了如何生成公私钥
本地cd ->ssh-keygen.exe ->cd .ssh/ ->ssh jenkins@10.213.xx.xx -p 50001->cat id_rsa.pub
在服务器cat authorized_keys, 可查看你添加的公钥
3, 了解了一些linux命令 rsync, scp,curl
rsync: 远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件
scp: secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。
curl: 一个利用URL规则在命令行下工作的文件传输工具
相关推荐
利用脚本自动获取svn代码,并自动编译代码。提供了自动部署的方案。
放在Post Steps 的shell命令 ,一键自动部署(2021最新版)
Shipyard-deploy自动部署脚本,操作说明:sh shipyard-deploy 具体部署方法请参考:http://blog.51cto.com/zlyang/2052795
shipyard deploy自动部署脚本。 目前大部分安装方式都是利用官方提供的在线脚本通过命令行进行安装,使用"curl -s https://shipyard-project.com/deploy | bash -s" 命令进行安装即可。实际上就是从官网下一个...
使用工具ForceFileSynchronic自动部署j2ee项目方便快捷
java web 项目 自动部署,带有详细注释,附带apache-tomcat-6.0.20.zip,使用时清除 tomcat.bat 里的注释
基于PXE的Linux并行机群快速自动部署与配置.pdf
北京致远北京致远OA系统H5化自动部署工具
Jenkins+ansible自动部署
jdk1.8自动部署脚本 使用说明:将压缩包解压到任意文件夹下,直接运行jdk安装脚本jdk.sh,安装过程中需要选择相应的版本并回车确认,确认后即可安装完成
此文档为简单的搭建Jenkins自动部署工具,可实现自动部署war包到Tomcat上及springboot工程的自动部署。
基于Jenkins+Gitlab+Docker实现SpringBoot项目自动部署
Windows+Server2008的客户端自动部署功能WDS.doc
svn本地自动部署与远程部署web应用代码方案,post-commit,update.php
这份资源是一份关于OpenStack自动部署的教程,旨在向用户介绍如何利用自动化工具和脚本来快速、高效地部署OpenStack云平台。通过自动部署,您可以更便捷地搭建和配置OpenStack环境,节省时间和减少人为错误的风险。 ...
利用服务器WDS+MDT部署全自动系统安装,自动为计算机唯一取名,自动加域,自动安装软件,此包内是配置文件CustomSettings.ini和Bootstrap.ini,CustomSettings.ini也就是属性里的Rules。
jenkens自动部署手册.zip,详细的说明了如何操作自动部署项目,都是实战经验jenkens自动部署手册.zip,详细的说明了如何操作自动部署项目,都是实战经验jenkens自动部署手册.zip,详细的说明了如何操作自动部署项目,都...
ThinkSystem系列服务器 配置、安装指导–LXPM自动部署操作系统指南
maven自动部署war包到tomcat
docker下 搭建 PHP+mysql+redis+nginx 开发环境, 并实现一键自动化部署,保证了在各个平台上的一致性,既方便又高效。