laravel通过sh搭建项目发布流程脚本

在实际项目开发中,我们常常通过流程发布来实现项目代码部署; 当我们项目生产中有异常情况需要线上调试时才能保证git源代码不被污染。

基本流程为:

  1. 移除线上项目
  2. 拷贝git项目到线上项目
  3. 修改线上项目配置文件
  4. 进入线上项目,执行所需编译
  5. 权限赋予
  6. ...

以下便是在作者在nginx环境下发布laravel项目时的简单shell发布脚本, 文件名project.sh,代码如下:


#!/bin/bash

#read su

gitdir=/home/fidding/project
proddir=/var/www/html/project
 \rm -rf ${proddir}
 \cp -r $gitdir/. $proddir/

sed -i 's/DB_DATABASE=homestead/DB_DATABASE=sunbar_voice_qa/' ${proddir}/.env
sed -i 's/DB_USERNAME=homestead/DB_USERNAME=voice_qa/' ${proddir}/.env
sed -i 's/DB_PASSWORD=secret/DB_PASSWORD=voice2007#@!/' ${proddir}/.env

sed -i 's/APP_DEBUG=true/APP_DEBUG=true/' ${proddir}/.env
sed -i 's/APP_ENV=local/APP_ENV=test/' ${proddir}/.env

sed -i 's/BROADCAST_DRIVER=log/BROADCAST_DRIVER=redis/' ${proddir}/.env

cd ${proddir} && php artisan cache:clear
composer clear-cache
composer dump-autoload --optimize
php artisan clear-compiled
php artisan optimize --force
php artisan config:clear
php artisan config:cache
php artisan route:clear
php artisan route:cache
php artisan view:clear
chmod -R 777 ${proddir}/storage

发布指令

./project.sh

原文地址:http://www.fidding.me/article/39

happy coding!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文链接 必备品 文档:Documentation API:API Reference 视频:Laracasts ...
    layjoy阅读 12,725评论 0 121
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,173评论 25 709
  • 阿拉木图亚的风 一阵阵吹来 芳草湖的芦苇荡 勾起我的思绪 还记得那年春天 喀赞其的冰激凌 六星街的格瓦斯 酸酸甜甜...
    蔡立鹏阅读 2,425评论 0 1
  • 一、八大基本数据类型 1.布尔型-----boolean,boolean 类型所占存储空间的大小没有明确指定,其取...
    聂叼叼阅读 3,838评论 0 2
  • 折腾之神再次附身,我再次对着自己的电脑折腾起来——这次折腾的有是自己电脑的操作系统。 初遇Linux 大约08年的...
    MarkLMa阅读 3,984评论 1 1