gpt4 book ai didi

node.js - 如何从 bitbucket-pipelines.yml 进行 git push?

转载 作者:搜寻专家 更新时间:2023-10-31 22:32:03 24 4
gpt4 key购买 nike

我有一个 Node 项目。我想做的是在开发人员 checkin (提交和推送)时,我想运行 bitbucket 管道,它会在内部执行以下操作

  1. npm 安装和 npm 测试
  2. npm 版本补丁(增加 package.json 中的版本)
  3. git push origin master --follow-tags
  4. npm 发布

bitbucket-pipelines.yml

    image: node:8
pipelines:
default:
- step:
caches:
- node
script:
- npm version patch
- git push origin develop --follow-tags
- npm publish

我在“git push origin master --follow-tags”上遇到了问题。如何授予管道推送回存储库的权限?

我还想知道这是否会触发一个循环,我的 bitbucket 管道在我增加 package.json 版本并进行 checkin (提交和推送)后再次执行?

在使用 bitbucket-pipelines 的 nodejs 项目上使用版本号递增进行 CI/CD 的推荐方法是什么?

干杯,罗希特

最佳答案

我遇到了类似的问题,但与 nodejs 开发无关。

git push 上构建失败的原因是您能够在 Pipelines > SSH keys 设置下生成的 ssh key 对没有写入权限。

删除生成的对并使用您自己的与您的帐户相关联的对。您还必须在推送之前创建一个提交。添加到您的bitbucket-pipelines.yml:

- git config user.email <your@email>
- git add package.json
- git commit -m "updated version"

第二个问题的答案是:是的,它会触发另一个构建,因为默认情况下它们会在每次提交时触发。在我的例子中,后续构建产生了完全相同的输出,这使得整个构建在 git commit 上失败。它是最新的来源,因此停止了重复触发。

每次更改都有两个构建,其中一个总是失败,这并不好。一个解决方案可能是 running builds by hand通过将 自定义 部分添加到配置中。

最终,由于缺乏自动化,我放弃了用管道推回某些东西的整个想法。

已更新

现在,也有可能schedule builds .有了这个特性,也可以避免重复触发。

关于node.js - 如何从 bitbucket-pipelines.yml 进行 git push?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44840740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com