迁移到版本化代码片段
引入于极狐GitLab 13.0。
在极狐GitLab 13.0 中,极狐GitLab 代码片段由 Git 仓库支持。 代码片段内容存储在仓库中,用户可以直接通过 Git 进行更新。
尽管如此,现有的极狐GitLab 代码片段必须迁移到这个新功能。 对于每个代码片段:
- 创建一个新的仓库。
- 使用代码片段文件名在仓库中创建一个文件。
-
将代码片段提交到仓库。
当极狐GitLab 实例升级到 13.0 或更高版本时,极狐GitLab 通过后台迁移执行此迁移。 但是,如果任何代码片段迁移失败,则必须单独迁移它们。 以下 Rake 任务有助于该过程。
向 Git 迁移指定代码片段
如果您想迁移一系列代码片段,请按如下所述运行任务。
对于 Omnibus 安装,请运行:
sudo gitlab-rake gitlab:snippets:migrate SNIPPET_IDS=1,2,3,4
对于源代码安装,请运行:
bundle exec rake gitlab:snippets:migrate SNIPPET_IDS=1,2,3,4
迁移过程中支持的 ID 数量有默认限制 (100)。您可以使用环境变量 LIMIT
来修改此限制。
sudo gitlab-rake gitlab:snippets:migrate SNIPPET_IDS=1,2,3,4 LIMIT=50
对于源代码安装,请运行:
bundle exec rake gitlab:snippets:migrate SNIPPET_IDS=1,2,3,4 LIMIT=50
显示是否运行代码片段后台迁移
如果您想检查代码片段后台迁移的状态,即其是否正在运行,您都可以使用以下任务。
对于 Omnibus 安装,请运行:
sudo gitlab-rake gitlab:snippets:migration_status
对于源代码安装,请运行:
bundle exec rake gitlab:snippets:migration_status RAILS_ENV=production
列举非迁移代码片段
通过以下任务,您可以获得所有尚未迁移或迁移失败的代码片段的 ID。
对于 Omnibus 安装,请运行:
sudo gitlab-rake gitlab:snippets:list_non_migrated
对于源代码安装,请运行:
bundle exec rake gitlab:snippets:list_non_migrated RAILS_ENV=production
由于未迁移代码片段的数量可能很大,我们默认限制返回 100 个 ID。您可以使用环境变量 LIMIT
修改此限制。
sudo gitlab-rake gitlab:snippets:list_non_migrated LIMIT=200
对于源代码安装,请运行:
bundle exec rake gitlab:snippets:list_non_migrated RAILS_ENV=production LIMIT=200