fostam/buildinfo

存储和使用构建时间信息。在需要检索如应用程序版本等信息进行自动化构建时很有用,例如从Git标签中获取。

v1.1.0 2020-09-12 06:05 UTC

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);