mayconbordin / laravel-http-deployer
使用HTTP自动部署Laravel应用的工具。
Requires
- php: >=5.4.0
- ext-openssl: *
- guzzlehttp/guzzle: ^5.2.0
- illuminate/config: 5.0.x|5.1.x
- illuminate/console: 5.0.x|5.1.x
- illuminate/support: 5.0.x|5.1.x
- symfony/yaml: ~2.7.5
Requires (Dev)
- mockery/mockery: ~0.9.4
- phpunit/phpunit: ~5.0.3
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 install
或 composer 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