68publishers/tracy-git-version

Tracy 的 Git 版本面板。

v1.2.0 2023-08-26 03:02 UTC

This package is auto-updated.

Last update: 2024-08-26 05:09:33 UTC


README

Tracy Git 版本

Tracy 提供简单且可扩展的面板,显示 Git 的信息。

Tracy Git version panel

Checks Coverage Status Total Downloads Latest Version PHP Version

目录

安装

安装 68publishers/tracy-git-version 的最佳方式是使用 Composer

$ composer require 68publishers/tracy-git-version

基本集成

独立 Tracy 集成

将面板注册到 Tracy 的最简单方法是创建一个默认实例并将其直接提供给 Bar。

use Tracy\Debugger;
use SixtyEightPublishers\TracyGitVersion\Bridge\Tracy\GitVersionPanel;

Debugger::getBar()->addPanel(GitVersionPanel::createDefault());

Nette 框架集成

Nette 的基本集成非常简单。只需注册一个扩展。

extensions:
    68publishers.tracy_git_version: SixtyEightPublishers\TracyGitVersion\Bridge\Nette\DI\TracyGitVersionExtension

一切都会顺利的 😉

无 Git 的应用程序构建解决方案

通常,当我们将应用程序部署到生产环境时,由于尝试将构建尽可能小,Git 和 .git 目录都不可用。然而,在这个时候,我们没有关于当前版本的信息来源。解决方案是在 Git 仍可访问时导出一个包含所有重要信息的文件。

独立 Tracy 的设置

您必须手动创建存储库和面板,但工作量不大。

use Tracy\Debugger;
use SixtyEightPublishers\TracyGitVersion\Bridge\Tracy\GitVersionPanel;
use SixtyEightPublishers\TracyGitVersion\Repository\LocalGitRepository;
use SixtyEightPublishers\TracyGitVersion\Repository\ExportedGitRepository;
use SixtyEightPublishers\TracyGitVersion\Repository\ResolvableGitRepository;
use SixtyEightPublishers\TracyGitVersion\Repository\RuntimeCachedGitRepository;
use SixtyEightPublishers\TracyGitVersion\Bridge\Tracy\Block\CurrentStateBlock;

# create a repository that reads from the .git directory:
$localGitRepository = LocalGitRepository::createDefault();

# create a repository that reads from a JSON export:
$exportedGitRepository = ExportedGitRepository::createDefault('/var/git-version/repository.json');

# combine there two repositories, if the .git directory is not accessible then try to read from the export file:
$resolvableGitRepository = new ResolvableGitRepository([$localGitRepository, $exportedGitRepository]);

# add runtime cache, commands results are stored so there are no duplicated calls to the real repository:
$cachedGitRepository = new RuntimeCachedGitRepository($resolvableGitRepository);

# add the panel into Tracy
Debugger::getBar()->addPanel(new GitVersionPanel($cachedGitRepository, [new CurrentStateBlock()]));

Nette 框架设置

Nette 的设置更简单。只需将另一个扩展添加到您的 neon 配置中。

extensions:
    68publishers.tracy_git_version: SixtyEightPublishers\TracyGitVersion\Bridge\Nette\DI\TracyGitVersionExtension
    68publishers.tracy_git_version.export: SixtyEightPublishers\TracyGitVersion\Bridge\Nette\DI\TracyGitVersionExportExtension

导出文件的默认名称是 %tempDir%/git-version/repository.json,但您可以更改它。

68publishers.tracy_git_version.export:
    export_filename: %tempDir%/my/custom/path.json

创建导出文件

导出文件应由位于 composer 的 bin 目录中的脚本创建。该脚本与应用程序无关,因此您必须提供导出文件的名称作为选项。

$ vendor/bin/tracy-git-version export-repository --output-file <your_temp>/git-version/repository.json -vv

高级指南

如果您想了解更多关于存储库、如何扩展它们或如何将自定义数据添加到面板的信息,请参阅 高级指南

贡献

在打开拉取请求之前,请使用以下命令检查您的更改

$ make init # to pull and start all docker images

$ make cs.check
$ make stan
$ make tests.all

许可证

该软件包在 MIT 许可证下分发。有关更多信息,请参阅 LICENSE