代码上传
小于 1 分钟
代码上传
需求分析
- 多项目统一管理
- 减少服务器对具体开发语言的环境配置依赖
- 增加项目发布的扩展性
软件设计
数据字典
- 代码上传表
字段 | 注释 |
---|---|
git_name | git项目 |
commit | 简短提交 |
state_debug | 是否上传测试服 |
state_online | 是否上传正式服 |
功能模块
- 构建
// 拉取代码
execClone();
// 更新代码
execPull();
// 提交日志
execLog();
// 版本文件
execShow();
// 压缩文件
execTar();
// 上传文件
execScp();
// 更新数据库
updateDB();
- 部署
// 上传并执行脚本
execDeploy();
编码
git pull
git log --pretty=%h
git show --name-only --pretty= b98c7b0
composer update
tar -rf "nginx.2021-06-21-011358.tar" "."
scp -P 1022 "nginx.2021-06-21-011358.tar" "root@localhost:/tmp"
scp -P 1022 "nginx.2021-06-21-011358.tar.sh" "root@localhost:/tmp"
ssh -p 1022 "root@localhost" "sh /tmp/nginx.2021-06-21-011358.tar.sh"