fostam / buildinfo
存储和使用构建时间信息。在需要检索如应用程序版本等信息进行自动化构建时很有用,例如从Git标签中获取。
Requires
- php: >=7.2
- ext-json: *
Requires (Dev)
- phpunit/phpunit: 8.5.*
This package is auto-updated.
Last update: 2024-09-12 14:25:37 UTC
README
存储和使用构建时间信息。在需要检索如应用程序版本等信息进行自动化构建时很有用,例如从Git标签中获取。
特性
- 创建构建信息文件
- 存储诸如版本、构建号、构建时间等信息。
- 在应用程序中读取构建信息并轻松使用它
安装
安装 buildinfo 的最简单方法是使用 composer。
库
使用 BuildInfo 库(buildinfo),可以读取并使用由 buildinfo-create 创建的构建信息参数在实际应用程序中。
$> composer require fostam/buildinfo
创建工具
使用创建工具(buildinfo-create),在应用程序构建时创建构建信息参数文件。此包仅在构建阶段需要,而不在最终应用程序中。
$> composer require fostam/buildinfo-create
安装后,可以从以下位置调用构建时间工具
$> vendor/bin/buildinfo
使用概述
在构建阶段创建构建信息文件以将其打包到发布版本中(使用 buildinfo-create)
buildinfo create buildinfo.php --set-version 2.1.0 --set-commit d921970aadf03b3cf0e71becdaab3147ba71cdef
从应用程序中读取构建信息文件(使用 buildinfo)
$buildInfo = BuildInfo::fromFile('buildinfo.php');
echo "my application version: " . $buildInfo->getVersion();
构建信息创建
要创建构建信息文件,将所需的文件名传递给工具,并附带您要存储的构建信息。
文件位置相对于当前工作目录,除非您提供绝对路径。
构建信息文件类型
目前支持两种文件类型,PHP和JSON。PHP读取速度快且可缓存,而JSON在需要从PHP之外处理构建信息时很有用(例如JavaScript)。
文件类型由文件扩展名指定。由于您可以提供多个构建信息目标,因此可以同时创建PHP和JSON文件。
示例
buildinfo create dist/buildinfo.php dist/buildinfo.json --set-version 2.1.0
构建信息参数
有一些预定义的构建信息参数
--set-name my-application-name
--set-time 2019-07-23T15:34:12Z
--set-version 2.1.0
--set-build-number 3541
--set-branch master
--set-commit d921970aadf03b3cf0e71becdaab3147ba71cdef
注意:如果省略了 time 参数,则自动设置为当前时间的RFC 3339格式的字符串。
此外,还可以使用 --set 选项提供任意自定义参数
--set author=john.doe@example.com
--set "comment=this is the final release"
构建信息使用
可以使用以下方法检索预定义的构建信息参数
use Fostam\Buildinfo;
$buildInfo = BuildInfo::fromFile('buildinfo.json');
echo $buildInfo->getName();
echo $buildInfo->getTime();
echo $buildInfo->getVersion();
echo $buildInfo->getBuildNumber();
echo $buildInfo->getBranch();
echo $buildInfo->getCommit();
可以使用通用 get() 方法检索自定义参数
echo $buildInfo->get('author');
echo $buildInfo->get('comment');
为了方便,构建时间也可以作为 DateTime 对象检索
$dt = $buildInfo->getTimeAsDateTime();
echo $dt->format(DateTime::RFC3339);