qobo/phake-builder

该软件包已废弃,不再维护。没有建议替代包。

基于jaz303/phake的一组构建和部署文件


README

Build Status Latest Stable Version Total Downloads Latest Unstable Version License codecov

一组基于jaz303/phake的构建和部署文件。

如果您觉得这个有用,可以看看基于这个模板的其他项目模板

安装

使用composer进行安装

{
    "require": {
      "qobo/phake-builder": "~2.0"
    }
}

用法

在项目根目录下创建一个Phakefile(或Phakefile.php),内容如下

<?php
require_once 'vendor/qobo/phake-builder/Phakefile.php';
?>

注意:供应商的Phakefile不会自动加载,因为它在项目的每个部分除了构建配置之外都是无用的并且令人烦恼。所以,请仅在这一点上手动包含它。

现在您可以通过运行以下命令来查看可用的构建目标列表

$ ./vendor/bin/phake -T

输出应类似于以下内容

(in /path/to/your/project)
archive:compress           Create ZIP or TAR archive
archive:extract            Extract ZIP or TAR archive
builder:init               Initialize builder configuration
composer:install           Install composer dependencies
composer:update            Update composer dependencies
default                    Default target
dotenv:create              Create .env file
dotenv:delete              Delete .env file
dotenv:reload              Reload settings from .env
file:chgrp                 Change group ownership on path
file:chmod                 Change permissions on path
file:chown                 Change user ownership on path
file:download              Download file from URL
file:link                  Create symbolic link
file:mkdir                 Create folder
file:mv                    Rename file or folder
file:process               Process template file
file:rm                    Recursively remove file or folder
file:touch                 Create empty file or update timestamp of existing
git:changelog              Git changelog
git:checkout               Git checkout
git:pull                   Git pull
git:push                   Git push
mysql:access-file-allow    Allow file operation
mysql:access-file-deny     Deny file operation
mysql:access-grant         Grant access
mysql:access-revoke        Revoke access
mysql:connect              Test MySQL database connection
mysql:database-create      Create database
mysql:database-drop        Drop database
mysql:database-import      Import database
mysql:find-replace         Find and replace across the database
system:service-restart     Restart system service
system:service-start       Start system service
system:service-stop        Stop system service

您可以通过以下方式运行这些目标中的任何一个

$ ./vendor/bin/phake mysql:connect

大多数包含的构建目标都需要一些参数。您可以通过.env文件提供这些参数。最初,您可以简单地复制提供的示例文件。您甚至可以使用phake-builder这样做

$ ./vendor/bin/phake dotenv:create

或者,您可以从命令行传递参数。例如

$ ./vendor/bin/phake mysql:connect DB_HOST=localhost DB_USER=root

查看.env.example文件中的示例和参数的默认值。查看vendor/qobo/phake-builder/src文件夹中的任务定义,以了解哪些任务接受哪些参数。

对于需要多次运行不同参数的任务,您可以创建自己的任务,要么以不同的方式处理参数,要么直接调用PHP功能。查看vendor/qobo/phake-builder/src文件夹中的类,以及相关的单元测试。

现在您已准备好创建自己的构建目标。为了在所有目标的列表中使它们在视觉上分开,建议您在“app”组中这样做。以下是为您的Phakefile创建此类目标的示例

<?php
require_once 'vendor/qobo/phake-builder/Phakefile.php';

group('app', function() {

  desc("This is a test");
  task('install', 'db:connect', function() {
    printSuccess('Awesome!');
  });

});
?>

现在您可以安装您的应用程序了

$ ./vendor/bin/phake app:install

有关更多信息,请参阅Phakephpdotenv的文档。