oboxmedia / push-it
部署的rsync抽象
Requires
- symfony/process: ^4.2
- webtrendi/clapp: ^1.1
This package is not auto-updated.
Last update: 2024-09-19 17:31:20 UTC
README
Rsync抽象和部署工具。
允许您通过配置文件定义各种同步操作,并简化从预发布到生产的部署。
安装
选项1:通过composer安装
composer require oboxmedia/push-it
然后您可以从项目内部运行它 php vendor/bin/pushIt -h
选项2:独立安装
git clone git@github.com:Oboxmedia/pushIt.git
然后您可以通过调用脚本运行它 php scripts/pushIt -h
快速开始
步骤1 在项目的根目录下定义一个 .pushIt.conf 文件
例如
[default]
defaultTarget=app
[app]
source=/path/to/your/staging.project/
destination=/path/to/your/production.project/
excludeFile=/path/to/your/excludeFile.txt
# optionally add extra switches to rsync
extraSwitches = --inplace
步骤2 定义一个 excludeFile.txt 文件,这将列出在同步时忽略的文件
例如
.git
README.md
wp-content/uploads/
步骤3 从项目的根目录运行同步脚本
php vendor/bin/pushIt --target app
配置
当运行pushIt脚本时,它将在当前目录中查找一个.pushIt.conf
文件。如果找不到,它将回溯文件树,并使用找到的第一个.pushIt.conf
文件。
或者,您可以使用--config
或-c
选项来指定配置文件。
此文件有两种类型的配置:[default]
选项,它控制脚本的某些行为,允许为不同的部署目标定义默认值。
部署目标配置
default配置指令
[default]
部分使您能够定义在所有目标中使用的全局选项。
defaultTarget:允许您定义默认目标(当未指定--target
或-t
选项时)。
部署目标配置指令
source:同步的源文件夹(与rsync源相同)
destination:同步到的目标文件夹(与rsync目标相同)
excludeFile:包含要忽略的文件模式的文本文件(与rsync --exclude-from
相同)