sarfraznawaz2005 / floyer
使用git和FTP的简单部署工具 - 尤其适用于共享主机。
Requires
- league/flysystem: ^1.0
- league/flysystem-sftp: ^1.0
- symfony/console: ^3.3
This package is auto-updated.
Last update: 2024-09-12 05:23:49 UTC
README
免责声明
此工具尚未完全测试,请自行承担风险!
目前符合我的需求,但如果您发现任何错误或缺少的功能,请发送PR。谢谢
简介
Floyer是一个简单快速的部署工具,使用git/svn和(S)FTP - 尤其适用于共享主机。
要运行部署,请在终端输入以下命令:php floyer deploy ini_file_to_use
。以下为命令说明。
截图
要求
- PHP >= 5.6
git
已添加到PATH环境变量中(如果使用Git驱动程序)svn
已添加到PATH环境变量中(如果使用Svn驱动程序)FTP
和Zip
PHP扩展(通常随PHP一起安装并启用)
命令选项
php floyer deploy ini_file_to_use --sync
:同步本地最新修订ID与远程修订文件。php floyer deploy ini_file_to_use --history
:列出上次部署中部署的文件。php floyer deploy ini_file_to_use --rollback
:回滚上次部署。
使用ini_file_to_use是ini服务器配置文件,您可以复制给定的示例文件floyer-sample.ini
来创建它。对于不同的服务器,您需要创建不同的ini配置文件。例如
php floyer deploy staging.ini
上传到测试服务器php floyer deploy live.ini
上传到生产服务器
注意 由于这些ini配置文件包含服务器连接细节,请确保在项目中忽略它们。
工作原理
- 在部署开始时,它将修订/提交散列存储在服务器上的文件中。
- 在下次部署时,它将本地修订与远程修订进行比较,从而能够仅部署这两个修订之间的更改文件。
- 一旦知道要上传哪些文件,它将创建要部署到服务器的这些文件的zip存档。
- 而不是单独上传每个文件(这是一个非常
慢
的过程),它将创建并上传zip存档文件到服务器,那里有一个相应的解压缩zip PHP脚本,可以快速解压这些文件。此脚本也由Floyer创建并上传。 - 部署完成后,zip存档和解压缩脚本将自动删除。
通过上传和提取存档文件进行部署不仅使部署变得快速,而且我们不必担心一些权限问题或创建新目录等问题,因为解压缩脚本是在服务器上运行的,从而避免了这些问题。
当前限制
- 仅与当前主git分支兼容
- 特别是回滚功能尚未完全测试
下载
phar版本位于dist/floyer.phar
。下载后,将其复制到您的项目中,并在终端中输入以下命令
php floyer.phar deploy ini_file_to_use
或如果您将floyer.phar
重命名为floyer
php floyer deploy ini_file_to_use
提示
如果您只上传到单个服务器或不想再次输入ini_file_to_use
,您可以在项目根目录中创建一个名为floyer_default_server.txt
的文件,并在该文件中输入您想用作默认值的ini文件名,然后您可以在类似以下命令中省略输入ini_file_to_use
php floyer deploy
php floyer deploy --history
然而,如果您想上传到不同的服务器,仍然可以使用ini_file_to_use
参数。
扩展
- 您可以通过添加更多连接器来扩展它。在
src/Connectors
中查看现有连接器。 - 您也可以通过改进现有的
Svn
和Git
驱动程序来扩展它。在src/Drivers
中查看现有驱动程序。
类似项目
许可
本代码在MIT许可下发布。这意味着您几乎可以用它做任何事情,只要保留版权声明和随附的许可文件即可。