blacklabs / blacklabs
Black Labs CLI。
Requires
- php: ^8.1
- czproject/git-php: ^4.1
- guzzlehttp/guzzle: ^7.5
- illuminate/http: ^10.0
- illuminate/log: ^10.0
- intonate/tinker-zero: ^1.2
- laravel-zero/phar-updater: ^1.3
- laravel/prompts: ^0.1.4
- nunomaduro/termwind: ^1.15.1
Requires (Dev)
- laravel-zero/framework: ^10.0.2
- laravel/pint: ^1.8
- mockery/mockery: ^1.5.1
- pestphp/pest: ^2.5
- pestphp/pest-plugin-faker: ^2.0
- dev-master
- v1.7.2
- v1.7.1
- v1.7.0
- v1.6.0
- v1.5.1
- v1.5.0
- v1.4.4
- v1.4.3
- v1.4.2
- v1.4.1
- v1.4.0
- v1.3.0
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.0
- v1.0.1
- v1.0.0
- v0.6.5
- v0.6.4
- v0.6.3
- v0.6.2
- v0.6.1
- v0.6.0
- v0.5.2
- v0.5.1
- v0.5.0
- v0.4.0
- v0.3.0
- v0.2.0
- v0.1.2
- v0.1.1
- v0.1.0
- v0.0.7
- v0.0.6
- v0.0.5
- v0.0.4
- v0.0.3
- v0.0.2
- v0.0.1
- dev-use-npm-version
- dev-dev
This package is auto-updated.
Last update: 2024-09-20 20:21:19 UTC
README
Black Labs CLI,为我们的工作。
要求
-
您必须在您的机器上安装
git
sudo apt install git-all
-
您必须安装
gh
以使用create-release-branch
命令(它为该分支创建一个 PR)请参阅
gh
Linux 安装说明 -
对于 forge 命令,您需要先运行
blacklabs app:store-forge-api-token <token>
。它将被保存到磁盘上,因此您不需要再次运行它(直到您的令牌过期)。
安装
请确保 composer 在您的系统 PATH 中,并且具有全局安装所需的文件夹:[Composer 介绍,全局](https://getcomposer.org/doc/00-intro.md#globally)
composer global require blacklabs/blacklabs
更新
composer global update blacklabs/blacklabs
blacklabs self-update
这个命令最近抛出了一个关于 zlib
或什么的错误。然而,这似乎并没有造成任何问题。
用法
Devops
创建发布分支
blacklabs create-release-branch minor 1001,1002,1003,884,732,1234
这将创建一个类似于 release/v0.18.1/1001-1002-1003-884-732-1234
的发布分支,并将每个问题合并到其中。
您也可以指定版本号,例如 v0.18.1
,它将使用该版本号而不是递增版本号。
blacklabs create-release-branch v0.18.1 1001,1002,1003,884,732,1234
注意
对于热修复或错误修复版本,请使用
patch
或下一个 'patch' 版本号。对于功能版本,请使用
minor
或下一个 'minor' 版本号。我们还没有为 'major' 数字设定真正的目的,但语义版本化的行业标准是:使用
major
或下一个 'major' 版本号进行破坏性更改。
-
首先,它会检出
dev
分支并拉取它,以确保它是最新的。 -
然后,它从
dev
分支创建一个新的分支,例如release/v0.18.1/1001-1002-1003-884-732-1234
- 如果它找到同名存在的分支,它将询问您是否想要删除并重新创建它。如果您做出肯定回答,它将这样做;如果不是,它将退出。
-
然后,它遍历提供的每个问题编号,并尝试找到对应的分支。
-
如果它找不到包含该问题编号的分支,它将跳过该问题,以便您稍后手动合并。
-
如果它找到多个包含该问题编号的分支,它将询问您要使用哪一个。
-
然后,找到了要合并的分支后,它从
origin
合并它。注意
这意味着每个问题的分支需要先推送到
origin
。 -
如果遇到合并冲突,它将暂停并询问您手动解决合并。解决后,您可以告诉它继续。
-
-
一旦合并完成,它将分支推送到
origin
。 -
然后,它为每个列出的问题创建一个带有描述的 PR。
-
然后,它还为该版本添加一个标签(并推送它)。
显示网站分支
blacklabs show-site-branches
这个命令向我们的服务器发送带有 'console' 标签的 Forge ping,然后显示所有网站以及它们当前分配的 git 分支。
这主要有助于快速浏览,而通过 Forge 点击查看则有些繁琐。
更新网站分支并部署
blacklabs update-site-branch-and-deploy
注意
这个命令向 Forge 发送 ping(如果您还没有为应用程序提供一个 Forge API 令牌,请先这样做:
blacklabs app:store-forge-api-token <token>
)。
- 首先,它会询问您要部署到哪个网站,从 Forge 的网站列表中选择,通过带有 'console' 标签的网站进行过滤。
- 然后,它会询问您要部署哪个分支。在此处选项中,它使用
git branch -r
(-r
表示 '远程',只显示已推送到 origin 的分支)。 - 然后,它会ping Forge以更新该网站的分支为您选择的分支。
- 然后,它会再次ping Forge以启动该网站的部署。
部署到生产环境
blacklabs deploy-to-production
- 它会警告您,您必须键入
forge-production
以使其通过。 - 然后,如果未提供第一个参数作为分支,它会询问您要部署哪个分支。
- 然后,它会检出
forge-production
并合并您选择的分支。 - 然后,它会推送
forge-production
。 - 然后,它会检出
dev
并将forge-production
合并到其中。 - 然后,它会推送
dev
。
重新合并发布分支
blacklabs merge-and-increment-tag release/v0.18.1/1002-1003-1120-843-034 843,034
这只是为了帮助合并问题分支,然后增加标签号。Forge服务器会自行处理此工作流程的自动部署。因此,此命令只会
- 合并指定的问题分支
- 增加标签的部署号(从指定分支中找到的号)
- 推送分支和标签
从网站中添加或删除问题
blacklabs site add-issues blacklabtesting.com 388,3843
-
它会获取已部署到该网站的当前分支。
-
它会从该分支的
package.json
中获取标签(我认为是这样;待测试)并增加prerelease
号码,例如0.18.0-2 ^
-
它会根据分支名称中现有的列表以及您要添加或删除的列表,生成一个新的问题列表。
-
它会创建一个新的发布分支,增加
prerelease
号码(见 创建发布分支) -
它会更新给定网站的分支并触发其上的部署(见 更新网站分支和部署)
切换到分支并处理迁移
blacklabs checkout
- 它会检查当前分支中是否进行了迁移,如果是,则运行
migrate:rollback
。 - 然后,它会检出到新分支。
- 然后,它会检查新分支中是否进行了迁移,并运行
migrate
。
警告
此命令目前存在一个bug 🪲,无法在多个 '步骤' 中运行迁移(即当您使用
--step
运行迁移时,或者当您创建迁移并运行它,然后创建另一个并在单独的进程中运行它时)。
贡献
部署过程
php blacklabs app:deploy
此命令执行
- 确保您位于master分支
- 运行测试
php blacklabs test
- 构建
php blacklabs app:build
- 给予版本号 - 提交
- 为该版本创建标签
- 推送标签(包括master分支)
我希望添加的功能
-
一个用于切换控制台分支的命令,但首先反向执行当前分支的独特迁移。然后,运行新分支带来的任何迁移。也可以为
composer install
和npm install
提供此命令的版本。 -
Laravel提示:这将使CLI交互更美观,更易于使用,例如,当在创建发布分支时遇到合并冲突时,使用箭头键选择 'yes' 而不是键入 'yes'。