基于 Laravel Envoy 的部署脚本

如题,找了半天貌似都没有符合laravel的天朝网络环境的的部署脚本,
于是乎结合参考了多个部署脚本和工具的理念又造了个新轮子:

envoy-deployscript

使用说明见:https://github.com/nickfan/envoy-deployscr...

原文:http://blog.axiong.me/2015/07/envoy-deploy...

主要特点:

支持本地构建打包部署

envoy run deploy_localrepo_install --branch=master --env=production

支持工作拷贝本地构建依赖模块(vendor目录)

envoy run deploy_mix_pack

欢迎大家测试吐槽。

原理/设计规划

你的 $deploybasepath 远程部署基础路径将会看起来像如下这样(如果你有多个子应用在同一个部署基路径里).

    mysite/
    mysite2/
    mysite3/

你的 $deploybasepath/$appname 远程部署应用路径将会看起来如下.

    releases/release_20150717032737/
    releases/release_20150717034646/
    current -> ./releases/release_20150717034646
    shared/storage/
    tmp/
    .env

正如你所见的, current 目录是软链到最近一次的部署目录的

在你的部署目录中文件列表看起来像下面这样(只列举了部分文件做例子):

    app/
    artisan
    boostrap/
    public/index.php
    composer.json
    .env -> ../../.env
    storage -> ../../shared/storage
    vendor/

部署目录中的.env文件和storage文件夹都软链接到了上级应用目录中的公共文件/文件夹了,这样部署本身只部署源代码和vendor等依赖环境,
storage等公共数据在shared文件夹中并不随代码部署,节省了空间也保留延续了日志/应用cache等相关基础数据在应用中的使用

本帖已被设为精华帖!
nickfan
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 5
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!