基于 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
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 5
(= ̄ω ̄=)··· 暂无内容!

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