mayconbordin/laravel-http-deployer

使用HTTP自动部署Laravel应用的工具。

0.1 2015-10-06 21:03 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:58:58 UTC


README

使用HTTP自动部署Laravel应用的工具。

这个库是为那些需要在没有SSH访问的共享主机上部署Laravel应用且不想使用FTP或GIT的人设计的。

如果你想要使用FTP和/或GIT,请查看以下库

远程安装

在将要部署应用程序的服务器上,您需要在可公开访问的目录(例如 public_html)中放置 deploy.php 文件,并授予 0644 权限。

您还需要创建一个配置文件。默认情况下,文件应命名为 deploy_config.ini,并位于脚本相同的目录中。示例配置文件

auth_key = YOUR_AUTH_KEY

其中 auth_key 是用于身份验证的唯一密钥。因此,您的配置文件应具有 0640 权限。

本地安装

为了在本地(开发环境)安装Laravel HTTP Deployer,只需将以下内容添加到您的 composer.json 中。然后运行 composer installcomposer update

"mayconbordin/laravel-http-deployer": "0.1"

然后在您的 config/app.php 中添加

providers 数组中。

'Mayconbordin\LaravelHttpDeployer\LaravelHttpDeployerServiceProvider'

配置

您还需要创建一个包含部署配置的文件。这是一个YAML文件,看起来可能像这样

deployments 部分可以有多条记录,每一条记录描述一个部署配置。auth_key 是一个字符串,将用于与服务器进行部署身份验证,请谨慎选择。version_filename 是用于控制部署版本的版本文件的名称。

deployments:
  application:
    auth_key: AUTH_KEY
    version_filename: version
    
    remote:
      url: https://
      endpoint: /deploy.php
      target: /home/user/app
      temp_dir: /home/user/tmp
      history_dir: /home/user/tmp/old_deployments

    local:
      path: .
      temp_dir: /tmp

    ignore:
      - .git*
      - bower_components
      - node_modules
      - .idea
      - deploy
      - deployment.*
      - storage/app/*
      - storage/framework/cache/*
      - storage/framework/sessions/*
      - storage/framework/views/*
      - storage/logs/*
      - .env*

    extra_files:
      'deploy/env_file': ./.env
      
    before_scripts:
      - composer install --no-dev
      - php artisan optimize
      - grunt

remote 部分中,您通过设置 url 指定将要进行部署的主机,而 endpoint 指向可以外部访问的 deploy.php 路径。target 是服务器上安装目录的完整路径。temp_dir 将用于在安装前提取软件包,而 history_dir 将存储旧的部署版本。

local 部分中,您只需指定应用程序的 path,默认值是当前目录(.),以及用于存储要部署的软件包的 temp_dir

可以使用 ignore 列表排除包中的文件,模式与 tar 命令中的模式相同。

extra_files 是一组键/值对列表,其中键是当前文件位置,值是包中文件的位置。您可以使用它来包含仅针对部署的配置文件,如 .env 文件。您必须使用 ./ 前缀作为目标位置。

before_scripts 可以用于在打包应用程序进行部署之前在本地运行命令,例如压缩CSS和JS文件的作业、删除开发库等。

注意:所有路径相对于当前工作目录。最好是将项目根目录作为首选。

用法

部署

部署应用程序

要部署您的应用程序,请运行

php artisan deploy deployment.yaml

您还可以选择要执行的部署

php artisan deploy deployment.yaml application

如果您只想打包应用程序而不部署它

php artisan deploy --package-only deployment.yaml

回滚

要回滚到之前的部署版本

php artisan deploy:rollback deployment.yaml

并且要回滚(或前进)到特定版本

php artisan deploy:rollback deployment.yaml 5

您还可以选择要回滚的部署

php artisan deploy deployment.yaml 5 application

状态

查看远程服务器上已部署的版本以及历史目录中的所有可用版本

您还可以选择要执行的部署

php artisan deploy:status deployment.yaml