该文章用于概述一个小型持续集成环境的搭建的方案
持续集成做为当今软件开发实践,能够简单理解为团队开发相对频繁的集成他们的工做,通常让每一个成员天天至少集成一次,而这回形成天天会有屡次的版本发布。因而咱们须要应用到自动化的构建模式(编译发布到测试监控),从而尽早的发现集成中的错误。html
经常使用生态
仓库管理java
构建工具node
运行环境python
构建环境nginx
手工发布 - Java SpringBoot应用到一台服务器
特征:一个环境,一台服务,少许应用git
mvn clean compile package -Dmaven.test.skip=true
scp -r xxx.jar username@192.168.0.1:/data/app/
or FTP工具
ssh root@192.168.0.1
ps -ef | grep java
-> kill -9 xxxx
nohup java -server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -jar /data/app/xxx.jar > /data/app/xxx.log 2>&1 &
手工发布 - React-Antdpro 应用到一台服务器
特征:一个环境,一台服务,少许应用web
npm run build
本地压缩dist.rar
-> scp -r dist.rar username@192.168.0.1:/data/nginx/
or FTP工具
-> 解压内容ssh root@192.168.0.1
⚠️ 在低频次小规模更新下,该方案能够在用最少的资源和适度的时间花费上获得平衡。若是出现 多人协做,发布频繁,多台服务,多套环境咱们该如何管理这些内容?
如下方案供选择,解决代码管理问题(他们比svn拥有更灵活更开放的管理手段)
如下方案供选择,解决通用模块引用以及外网拉取依赖缓慢问题
如下方案供选择(他们能够将一系列的执行脚本在服务端执行,一次脚本维护完毕则经过简单的触发便可完成各类功能)
Ansible 配置管理工具集包含 链接模块,多任务执行,监控模块,插件功能segmentfault
https://blog.csdn.net/notsalt...服务器
下阶段会基于Walle讲解如何搭建一个小型的持续集成环境