[关闭]
@42withyou 2015-09-21T10:18:29.000000Z 字数 1535 阅读 420

部署脚本 SHIPIT 使用指南

git clone git@115.28.232.110:/srv/shipit.git

新建部署项目

  1. ./shipit.sh new xxx

将会复制 shipit/default../ships/xxx

注意:现在的部署项目目录在 shipit 同级的 ships

目录结构

  1. ---- ships/xxx
  2. |- backups # 线上代码备份
  3. |- overwrites # 要覆盖到检出代码的文件
  4. |- retains # 部署保留复用的目录们
  5. |- tmp # ship 工作目录
  6. |- config.ini # 配置文件

config.ini

  1. ; 留空不执行 chown
  2. [user]
  3. group = www
  4. name = www
  5. ; git or svn
  6. ; git 不需要 branch
  7. [repo]
  8. ; default: git
  9. type = git
  10. location = git@115.28.232.110:/srv/laravel-pro.git
  11. ; svn 不需要。 default: master
  12. branch = develop
  13. [hook]
  14. ; default: shipit.sh
  15. hook = shipit.sh
  16. [dist]
  17. path = /Users/kezhong/test/wwwroot
  18. ; default: project name
  19. name =
  20. ; 备份时要删掉的
  21. [clear]
  22. files =
  23. folders = storage/framework/cache,storage/framework/views,storage/framework/sessions
  24. ; 部署后备份下次复用的,用以加快 composer npm 等的安装速度
  25. [retains]
  26. folders = vendor,node_modules,public/bower_components

up

./shipit.sh up xxx

rollback

./shipit.sh rollback xxx [backupfile]

可选参数 backupfile,否则回滚 backups/last.txt 的版本,即最后一次版本

help

./shipit.sh
or
./shipit.sh help

hook

示例程序:

  1. #!/bin/bash
  2. # 确保命令执行正确,否则 exit 1 退出
  3. function assert_ok()
  4. {
  5. if [ "$1" != 0 ]; then
  6. exit 1
  7. fi
  8. }
  9. composer update -o
  10. php artisan route:cache || assert_ok $?
  11. php artisan config:cache || assert_ok $?
  12. php artisan clear-compiled || assert_ok $?
  13. php artisan optimize || assert_ok $?
  14. php artisan env || assert_ok $?
  15. npm install --g gulp || assert_ok $?
  16. npm install --g bower || assert_ok $?
  17. npm install || assert_ok $?
  18. bower install
  19. gulp || assert_ok $?
  20. chmod 766 storage || assert_ok $?
  21. chmod 766 vendor || assert_ok $?
  22. chmod 766 bootstrap/cache || assert_ok $?
  23. exit 0
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注