Releaser 是一个用于 CLI 和 PHP 应用程序的自动化语义版本管理器

0.3.0 2016-04-28 11:31 UTC

README

        .---.        .-----------
       /     \  __  /    ------
      / /     \(  )/    -----     '||'''|,        '||`
     //////   ' \/ `   ---         ||   ||         ||
    //// / // :    : ---           ||...|' .|''|,  ||  .|''|,  '''|.  ('''' .|''|, '||''|
   // /   /  /`    '--             || \\   ||..||  ||  ||..|| .|''||   `'') ||..||  ||
  //          //..\\              .||  \\. `|...  .||. `|...  `|..||. `...' `|...  .||.
=============UU====UU====
             '//||\\`
               ''``

Releaser 是一个用于 PHP 应用程序的自动化语义版本管理器

它旨在节省个人和公司的时间 - 一分钟内发布所有仓库!

向 Releaser 提供您的仓库名称,它将与所有修改过的依赖项一起发布

###基本 Releaser 流程

  • 获取您想要发布的仓库数据
  • 找到所有依赖项
  • 找到所有依赖项依赖项,直到所有依赖项都计算在内
  • 确定自上次发布以来哪些仓库已更改
  • 按逻辑顺序发布所有修改过的依赖项
  • 发布主仓库

###安装

将依赖项添加到您的 composer 中,然后执行

composer require gundars/releaser 0.*

###通过 PHP 发布仓库

$releaser = new \Releaser\Releaser('$token', '$owner');
$releaser->release($repository, $whitelistDepCommonNames, $blacklistDepCommonNames $type, $sourceRef, $mode);

#for example, this repo is released using:
$releaser = new \Releaser\Releaser('55b48e382257a...', 'gundars');
$releaser->release('releaser', 'gundars', [], 'minor', 'dev-master', 'sandbox');

####参数

###通过 CLI 或网页发布仓库 要通过 bash 运行,请执行 ./cli/run.sh,定义那里的参数 要通过浏览器运行,请使用 CLI 参数或 $_GET 或 $_POST 参数执行 php ./cli/release.php

###当前已知问题、未实现的功能、垃圾

  • 为稳定性强制在未更改的仓库上发布选项
  • 发布 require-dev 依赖项选项
  • 用适当的 7 级日志器接口替换 err 和 msg
  • 用异常替换内部错误
  • 尽快完成上帝的 OOP 分组
  • 需要立即修复 DI