yarn v4 中 --no-commit-hooks 和 --no-git-tag-version 的替代品是什么

问题描述 投票:0回答:1

我正在从经典纱线迁移到版本 4,并遇到了版本碰撞 CI 作业的问题,因为现代纱线版本中不再存在

--no-commit-hooks
--no-git-tag-version
标志。

这是我用来提升版本的 Gitlab CI 作业的一部分(使用经典的纱线):

  script:
    - ... some preparing scripts
    - git tag -a v$APP_VERSION -m "v$APP_VERSION"
    - yarn version --patch --no-commit-hooks --no-git-tag-version
    - git pull origin $CI_COMMIT_REF_NAME -X theirs --no-commit && git commit -a -m "chore(release): v$APP_VERSION"
    - git push -o ci.skip --tags origin HEAD:$CI_COMMIT_REF_NAME

分解:

  • 我们正在跳过 git hooks(以避免 Husky 和其他预提交工具出现问题)
  • 我们正在使用 现有(之前版本)package.json 版本创建标签
  • 我们正在将提交消息修改为预期的格式。

使用纱线 v4 执行此操作的替代方法是什么?

我一直在浏览yarn文档,但是

version
CLI文档显示该命令只有一些基本的配置选项。我还在 berry 存储库中打开了讨论,但到目前为止还没有回复。

continuous-integration yarn-v4
1个回答
0
投票

所以,看起来我一直在寻找上述挂钩的替代品,但尚未测试

yarn version
的行为。
yarn version
提升版本,但不创建标签或提交,所以这很好。它还运行
yarn install
,这不太好。最后,下面的代码可以替换我一直在yarn classic中使用的配置:

  script:
    - ... some preparing scripts
    - git tag -a v$APP_VERSION -m "v$APP_VERSION"
    - yarn version patch
    - git pull origin $CI_COMMIT_REF_NAME -X theirs --no-commit && git commit -a -m "chore(release): v$APP_VERSION" --no-verify
    - git push -o ci.skip --tags origin HEAD:$CI_COMMIT_REF_NAME --no-verify

使用

no-verify
跳过运行 git hooks。防止
yarn install
也很好,但我找不到解决方案,并且针对同一问题有一个未答复的讨论:https://github.com/yarnpkg/berry/discussions/4551 .

© www.soinside.com 2019 - 2024. All rights reserved.