bkwld/codebasehq

Laravel 应用集成 CodebaseHQ 功能的工具

4.1.2 2017-09-13 22:00 UTC

This package is auto-updated.

Last update: 2024-09-21 20:02:45 UTC


README

这是一个 Laravel 包,它使得与特定 Codebase 功能集成变得容易

  • 推送异常,包括完整的堆栈跟踪和所有环境变量。
  • 一个可以在部署脚本中使用的命令,用于记录部署。
  • 一个可以用于评论在已部署的 git 提交日志中引用的所有票据的命令。

安装

  1. 将其添加到您的 composer.json 文件中 ("bkwld/codebasehq": "~4.0") 并执行 composer install。
  2. 将服务提供者添加到您的 app.php 配置文件 providers 部分: Bkwld\CodebaseHQ\ServiceProvider::class,

配置

您需要提供您的 CodebaseHQ 账户凭据以使此包正常工作。您可以将以下内容存储在您的 .env 文件中(首选)或发布并编辑此包的配置文件(php artisan vendor:publish --provider=="Bkwld\CodebaseHQ\ServiceProvider")。

  • 要记录异常,只需要 project 配置。
  • 对于任何部署命令,您都需要您的 api 凭据。

.env 选项

# CodebaseHQ settings
CODEBASE_PROJECT_SLUG=
CODEBASE_PROJECT_KEY=
CODEBASE_API_USERNAME=
CODEBASE_API_KEY=
CODEBASE_LOG_EXCEPTIONS=

使用方法

异常记录

此包监听 Laravel 日志事件并将错误推送到 CodebaseHQ。默认情况下,来自 local 环境的异常不会被发送到 CodebaseHQ。您可以通过在本地 .env 文件中显式地将 CODEBASE_LOG_EXCEPTIONS 设置为 true 来更改此行为。您可以通过编辑应用程序的 App\Exceptions\Handler::$dontReport 变量来控制哪些异常不会被发送到 CodebaseHQ。

部署通知

DeployHQ 有一个 "Deployments" 标签,位于您的存储库中,列出了部署。您可以使用 codebasehq:deploy 命令将其添加到列表中。它接受以下选项,这些选项类似于在 API 文档 中找到的选项。

  • servers 必需 - 您要部署到的服务器列表(多个服务器应以逗号分隔,例如 app1.myapp.com, app2.myapp.com, app3.myapp.com)。
  • branch - 您要部署的分支。默认为当前签出的分支。
  • revision - 您要部署的修订/提交的引用。默认为 HEAD 提交。
  • deploy-env - 您要推送到的环境。

示例

php artisan codebasehq:deploy app1.myapp.com
php artisan codebasehq:deploy production --branch=production

通知部署的票据

此命令设计为作为部署脚本的一部分运行,并要求您使用 CodebaseHQ 从提交消息中链接票据的功能(例如:[touch:12])。通过将 git log 的输出(您要部署的提交)管道传输到 php artisan codebasehq:deploy-tickets,此包将扫描日志以查找票据引用,然后更新那些已部署的票据。以下是一些示例

# Get all the commits that aren't on staging/master but are local
git log staging/master..master | php artisan codebasehq:deploy-tickets

# The same as before, but fetch first so the diff is up to date
git fetch staging && git log staging/master..master | php artisan codebasehq:deploy-tickets

# Specify which server environment you are deploying to
git fetch staging && git log staging/master..master | php artisan codebasehq:deploy-tickets --server=staging

# Save the the log before you deploy, then tell CodebaseHQ about it after
git fetch staging && git log staging/master..master > /tmp/deployed-staging-commits.log
run-deploy-code
cat /tmp/deployed-staging-commits.log | php artisan codebasehq:deploy-tickets --server=staging
rm /tmp/deployed-staging-commits.log

以下是在票据中附加的内容示例

Deployed message within a ticket