bkwld / codebasehq
Laravel 应用集成 CodebaseHQ 功能的工具
4.1.2
2017-09-13 22:00 UTC
Requires
- php: >=5.3.0
- airbrake/phpbrake: ^1.0@dev
- illuminate/support: ^5.0
README
这是一个 Laravel 包,它使得与特定 Codebase 功能集成变得容易
- 推送异常,包括完整的堆栈跟踪和所有环境变量。
- 一个可以在部署脚本中使用的命令,用于记录部署。
- 一个可以用于评论在已部署的 git 提交日志中引用的所有票据的命令。
安装
- 将其添加到您的 composer.json 文件中 (
"bkwld/codebasehq": "~4.0"
) 并执行 composer install。 - 将服务提供者添加到您的 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
以下是在票据中附加的内容示例