auto_deploy
项目介绍
项目自动发布系统,针对Nginx和Tomcat的项目服务,实现代码初次部署与更新自动化操作。
软件架构
/auto_deploy/ -------系统根目录
/auto_deploy/index.html-------管理后台跳转页面
/auto_deploy/admin/-------管理后台
/auto_deploy/admin/index.html-------管理后台入口
/auto_deploy/api/-------php接口
/auto_deploy/api/index.php-------php接口入口
运行环境要求
php5
mbstring库
php-ssh2插件
环境参数注意事项
关闭SELinux,否则即使ssh2扩展安装完成也无法正常使用ssh2函数。
修改php.ini默认文件上传大小限制,upload_max_filesize = 300M、post_max_size = 300M。
修改php.ini默认时区,date.timezone = PRC
安装教程
新建数据库,导入数据库文件。
/auto_deploy/admin/sys.js文件根据IP地址修改,一个数据接口,一个文件上传拼接地址。
/auto_deploy/api/class/x.sys.php开头需要配置服务器登录信息,为了安全,服务器登录信息不发送到前端使用。
/auto_deploy/api/mysql.class.php配置数据库信息。
/auto_deploy/api/File/shell/updata.sh升级脚本开头修改日志接口IP地址(不设置不影响部署更新,但后台无法写入升级记录,也没有回滚功能)
配置说明
项目设置
项目名,如tomcat项目webapps下项目目录名称。
项目备注,此项目的备注说明。
默认项目路径,截至到tomcat目录的上一层目录,如某项目webapp下路径为/usr/local/huanlv_soft/server_soft/epg-admin-10080/tomcat/webapps/ROOT,此处设置的项目初始化路径为/usr/local/huanlv_soft/server_soft/epg-admin-10080/。
服务类型,Tomcat 或 Nginx。
上传初始化数据包,只在项目第一次部署时使用,即已配置好server.xml文件端口号等内容的tomcat压缩包,压缩格式为zip,压缩包无命名规则,使用时候会自动修改目录名为tomcat
脚本下发
服务器IP地址,选择服务器IP地址,此地址来源在api接口的x.sys.php设置。
服务器说明,此服务器的备注说明。
脚本路径,脚本下发后存储路径,默认为/opt/auto_depl_client/下,可根据实际情况修改。
添加服务器配置按钮,以上三个参数设置完后点击添加服务器配置,保存设置。
脚本下发按钮,保存设置后,表格内会添加相应记录。点击脚本下发,将脚本发送到服务器上。
更新代码使用说明
下拉框选择服务器,选择服务器IP地址,此地址来源在api接口的x.sys.php设置。
下拉框选择项目,选择要更新的项目,此数据开源于系统配置时的项目设置的备注,选择后会自动关联其他信息。
点击获取服务器信息按钮,服务器地址与项目选择完后点击获取服务器信息,自动判断是否满足更新条件,只有下面输入框中自动补全脚本状态已下发、脚本地址、初始化数据地址、项目地址(可修改),才满足更新条件。其中项目地址默认拉取项目配置时的初始化项目地址,也可根据实际情况修改。
上传更新代码,点击上传按扭,上传本次要更新的代码压缩包(即要部署在webapps下的项目代码),压缩格式为zip,压缩包无命名规则,部署时系统会自动修改为项目设置时的项目名。
点击提交按钮,发送更新指令到服务器执行。
注意:服务器上执行脚本日志输出保存为/tmp/shell_run_项目名.log,可用于更新失败或异常时调试使用。
代码回滚功能
在代码更新记录中,第一次使用系统部署代码时更新记录显示为初始化。
当项目初始化部署成功后,每次更新成功记录后有回滚按钮,点击回滚按钮即可回滚到该更新记录的前一个代码版本。
参与贡献
Fork 本项目
新建 Feat_xxx 分支
提交代码
新建 Pull Request
码云特技
使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md
GVP 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目