http://www.go.cd/
https://www.chef.io/
https://docs.chef.io/
https://docs.chef.io/chef_overview.html
https://docs.chef.io/chef_overview.html
http://capistranorb.com/
A remote server automation and deployment tool written in Ruby.
Copy -> Start service -> Cleanup
Copy -> Start service -> Cleanup
Copy -> (Re)Start service -> Cleanup
小练习:在本地Box中构建持续交付环境
1. 使用Vagrant搭建本地Node(一台CI环境,一台产品环境)
相关文件:eportfolio/deploy/local/Vagrantfile
2. 在本地CI环境上安装最新版Go-CI(可以先尝试一下手动安装)
相关文件:eportfolio/deploy/config/deploy/ci.rb和eportfolio/deploy/config/deploy.rb
3. 在本地产品环境上安装依赖软件(Web、App、db、Index、Cache)和准备目录
相关文件:eportfolio/deploy/config/deploy/production.rb和eportfolio/deploy/config/deploy.rb
4. 在本地产品环境上部署代码
相关文件:eportfolio/eportfolio/config/deploy/production.rb和eportfolio/eportfolio/config/deploy.rb
5. 在本地CI环境上实现3、4的自动化
总结:莱伍泰斯特Style的持续交付
1. Bootstrap + Provision (eportfolio/deploy)
cap env bootstrap
cap env provision
2. Deploy (eportfolio/eportfolio)
cap env deploy
技术债实战:
1. 在eportfolio/deploy/config/deploy.rb:68我们尝试在CI环境中以Xvfb模式运行headless feature test,但没有成功,请尝试查找问题并解决(只要实现Headless FT based on CentOS 6.5 即可)。
2. chef-solo的功能在最新版chef中已经移入chef-client,而我们仍采用较旧的chef-solo,请尝试把chef-solo替换为chef-client。
3. 莱伍泰斯特的Capistrano Core版本是2.15.5,而最新的Capistrano 3已经发布了2年。请调查一下2 vs 3的区别,并尝试升级至Capistrano 3。