sw-cli-tools, shopware工具是所有shopware任务的控制台助手

分享于 

12分钟阅读

GitHub

  繁體 雙語
The shopware CLI tools are your console helpers for all kind of shopware tasks
  • 源代码名称:sw-cli-tools
  • 源代码网址:http://www.github.com/shopwareLabs/sw-cli-tools
  • sw-cli-tools源代码文档
  • sw-cli-tools源代码下载
  • Git URL:
    git://www.github.com/shopwareLabs/sw-cli-tools.git
    Git Clone代码到本地:
    git clone http://www.github.com/shopwareLabs/sw-cli-tools
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/shopwareLabs/sw-cli-tools
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    Shopware工具

    Build StatusScrutinizer ScoreLicense

    Shopware工具是所有Shopware任务的控制台助手。 它们将允许你:

    • 从VCS设置 Shopware
    • 从发布标记中设置 Shopware
    • 创建Shopware插件
    • 定义你使用的一组插件库
    • 从存储库安装插件并在shopware中激活它们
    • Shopware存储或者Shopware插件管理器预期的邮件插件

    shopware工具带有一个瘦扩展接口,因此你可以根据需要扩展它。

    这是的早期开发预览,所以不要指望它是稳定的。 请先等待 1.0.0个稳定版本,然后再使用这里工具进行生产部署

    拉请求非常受欢迎,以及可能的扩展的想法。

    支持

    使用自己的风险,不支持这里工具。

    安装

    通常我们建议使用 sw.phar 发布文件,你可以将它们下载到 比如 ~/bin/sw,并将这里目录添加到本地用户( 从 http://shopwarelabs.github.io/sw-cli-tools/ 下载当前版本)的$PATH 中。

    如果想使用sw-cli-tools的开发版本,应该检查存储库并运行 composer install 来下载所有依赖项

    要求

    至少在你的系统上有下列软件包需要可用。

    • openjdk-7-jre-headless
    • ant
    • git
    • 卷曲
    • php5-curl
    • 如果你想使用颜色,你应该在你的php.ini 中启用 php.posix

    可用命令

    • cache:clear
    • install:vcs
    • install:release
    • plugin:install
    • 插件:zip: dir
    • 插件:zip: vcs
    • plugin:create
    • sw生成

    使用命令

    plugin:install

    将从配置的档案库中安装插件

    有效的选项/参数为:

    
    --useHttp: use HTTP for checkout if possible (e.g. for VPN, SSH seems to be slow here sometimes)
    
    
    --small: Show 3 columns of plugins in a short form
    
    
    --shopware-root Shopware root directory
    
    
    --branch branch to checkout out
    
    
    names1...nameN - names of plugins to install
    
    
    
    

    命令将自动为 PhpStorm 创建一个映射,如果可以找到 .idea/vcs.xml。 你需要使用 File-> Sychronize ( Control+Alt+Y ) 刷新你的配置

    插件:zip: vcs

    将从中签出一个插件并将它的正确地压缩到存储中

    有效的选项/参数为:

    
    --useHttp: use HTTP for checkout if possible (e.g. for VPN, SSH seems to be slow here sometimes)
    
    
    --small: Show 3 columns of plugins in a short form
    
    
    --branch branch to checkout out
    
    
    names1...nameN - names of plugins to zip
    
    
    
    

    如果插件中包含一个名为的文件,那么描述的文件/目录将被排除在压缩中

    插件:zip: dir

    将压缩给定的插件目录。 目录必须指向插件 Bootstrap 可以找到的目录。

    install:vcs

    从vcs中签出最新的shopware版本( 用于开发)

    有效的选项/参数为:

    
    --branch: The branch to checkout
    
    
    --databaseName: Name of the database to use
    
    
    --installDir: Where to install shopware
    
    
    --user: Github user name. If provided, the checkout will be done via HTTP
    
    
    
    

    如果未提供数据库凭据,则将在 ~/.config/sw-cli-tools/config.yaml 中以交互方式读取这些选项

    install:release

    
    --release=RELEASE Release version. Default: Latest. Possible are all shopware release versions like"4.2.0"
    
    
    --install-dir[=INSTALL-DIR] Install directory
    
    
    --db-host=DB-HOST Database host [default:"localhost"]
    
    
    --db-port=DB-PORT Database port [default:"3306"]
    
    
    --db-socket=DB-SOCKET Database socket
    
    
    --db-user=DB-USER Database user
    
    
    --db-password=DB-PASSWORD Database password
    
    
    --db-name=DB-NAME Database name
    
    
    --shop-locale=SHOP-LOCALE Shop locale [default:"de_DE"]
    
    
    --shop-host=SHOP-HOST Shop host [default:"localhost"]
    
    
    --shop-path=SHOP-PATH Shop path [default:"/"]
    
    
    --shop-name=SHOP-NAME Shop name [default:"Demo shop"]
    
    
    --shop-email=SHOP-EMAIL Shop email address [default:"your.email@shop.com"]
    
    
    --shop-currency=SHOP-CURRENCY Shop currency [default:"EUR"]
    
    
    --admin-username=ADMIN-USERNAME Administrator username [default:"demo"]
    
    
    --admin-password=ADMIN-PASSWORD Administrator password [default:"demo"]
    
    
    --admin-email=ADMIN-EMAIL Administrator email address [default:"demo@demo.demo"]
    
    
    --admin-locale=ADMIN-LOCALE Administrator locale [default:"de_DE"]
    
    
    --admin-name=ADMIN-NAME Administrator name [default:"Demo user"]
    
    
    
    

    plugin:create

    将创建一个带有所有样板代码的Shopware插件。 如果将命令从 shopware 根目录 执行,插件将放在插件文件夹中,否则将在同一目录中创建。

    有效的选项/参数为:

    
    --legacy: Create a legacy Plugin for Shopware versions lower than 5.2
    
    
    --namespace[="..."]: Namespace of the plugin, default: Frontend
    
    
    --haveBackend: Generate a backend Controller + a simple ExtJS module
    
    
    --backendModel[="..."]: The name of the model for your backend application
    
    
    --haveFilter: Generate Condition/Facet/CriteriaRequestHandler in order to add a new filter in the frontend
    
    
    --haveFrontend | -f: Generate a frontend controller
    
    
    --haveModels | -m: Generate a simple doctrine model
    
    
    --haveCommands | -c: Generate a console command
    
    
    --haveWidget | -w: Generate a backend widget
    
    
    --haveApi | -a: Generate an API resource + REST controller
    
    
    --licenseHeader[="..."]: Include a license header at the beginning of any file name: Name of your plugin. Must at least have a dev prefix + plugin name, e.g."SwagBundle","PrefixPluginName";"SwagBrowserLanguageDetection"
    
    
    --haveElasticSearch | -e: Generate ElasticSearch blueprint classes and an example of a decorator for the product number search.
    
    
    
    

    如果未提供选项,则将以交互方式读取这些选项。 数据库凭据在 ~/.config/sw-cli-tools/config.yaml 中配置

    内置

    将生成可以用于填充 比如 负载测试的数据的数据。

    warning 这里命令具有破坏性 !!

    有效的选项/参数为:

    
     -a, --articles[=ARTICLES] Number of articles to create
    
    
     --articleFilterGroups[=ARTICLEFILTERGROUPS] Number article filter option groups to create
    
    
     --articleFilterOptions[=ARTICLEFILTEROPTIONS] Number article filter options to create
    
    
     --articleFilterValues[=ARTICLEFILTERVALUES] Number article filter values to create per each filter option
    
    
     -o, --orders[=ORDERS] Number of orders to create
    
    
     -c, --categories[=CATEGORIES] Number of categories to create
    
    
     --categoriesPerArticle[=CATEGORIESPERARTICLE] Number of categories to assign to each article
    
    
     -e, --newsletter[=NEWSLETTER] Number of newsletter to create
    
    
     -u, --customers[=CUSTOMERS] Number of customers to create
    
    
     --vouchers[=VOUCHERS] Number of vouchers to create
    
    
     --chunk-size[=CHUNK-SIZE] Chung size
    
    
     -s, --seed[=SEED] Random seed
    
    
     --installDir[=INSTALLDIR] Your Shopware installation path. If provided, data will be automatically injected into the configured database. [default:""]
    
    
     -n, --no-interaction Do not ask any interactive question
    
    
    
    

    如果从Shopware安装执行,或者提供'installdir',数据将自动写入到Shopware数据库中。 否则,数据将导出到'输出'文件夹中的单个文件,你需要按照生成的顺序导入. sql 文件( 请参见命令输出)。

    在你的MySQL安装中需要'local-infile=1'。

    扩展cli工具

    新扩展

    扩展是在 /home/USER/.config/sw-cli-tools/extensions 文件夹和由供应商文件夹,扩展文件夹( 用这个名字) 和扩展文件夹内的Bootstrap.php 组成。 另外,你可以在扩展文件夹内提供自己的config.yaml,这将扩展默认的config.yaml

    你的扩展 Bootstrap的名称空间应该是 VENDOR_FOLDEREXTENSION_FOLDERBootstrap

    Bootstrap

    Bootstrap 是扩展的主要入口点。 如果实现 ContainerAwareExtension,它将通过setContainer获取应用程序的容器生成器。 这样,你的扩展就可以扩展容器。 另外,Bootstrap 可以实现 ConsoleAwareExtension。 如果是这样的话,在创建之后将调用方法"getconsolecommands"- 请在这里返回控制台命令实例的array。 最后扩展将调用实现 RepositoryAwareInterfacegetRepositories 方法。

    更改现有组件

    当 Bootstrap.php 在容器之后实例化时,你可以替换容器的任何服务

    路径

    SW cli工具利用XDG目录标准。 使用以下目录:

    
    ~/.config/sw-cli-tools: Here the main configuration as well as the extensions are stored
    
    
    ~/.cache/sw-cli-tools: Here caches (like repo content) as well as release downloads are cached
    
    
    ~/.local/share/sw-cli-tools: Assets the demo data package are stored here
    
    
    
    

    如果你通过 XDG 环境变量 更改了其中一些目录,则使用这些目录

    配置

    脚本的配置是在 ~/.config/sw-cli-tools/config.yaml 中完成的。 如果系统中不存在该文件,则在脚本第一次使用后创建该文件。

    构建 sw.phar

    用于构建发布包( sw.phar ) 。 一个新的版本是自动构建的每一次推到主分支,。

    编码标准

    项目的编码标准是 PSR-2。 可以使用php-cs-fixer检测编码标准违规:

    
    ./vendor/bin/php-cs-fixer fix -v --level=psr2./src
    
    
    ./vendor/bin/php-cs-fixer fix -v --level=psr2./tests
    
    
    
    
    一般提示

    超时超时

    如果 Having 是缓慢的internet连接和 比如 git签出或者与 ProcessExecutor 相关的任务,则可以通过设置环境变量 SW_TIMEOUT 增加超时:

    
    SW_TIMEOUT=500 sw install:vcs
    
    
    
    

    tool  CONS  任务  Helper  控制台  tasks  
    相关文章