node.js - 在成功构建时增加 NPM/Grunt 版本 -- Bamboo

标签 node.js git gruntjs continuous-integration bamboo

我有一个 Bamboo 服务器,目前正在设置它来测试我在项目上的构建。 我想开始使用 NPM 版本或 grunt bump 对我的项目进行版本控制。

这是我当前的 Bamboo 设置,

  1. Bamboo 检测 repo 更改
  2. 运行所有测试
  3. 如果该分支是“主”分支,则执行将我们的生产代码移动到人工制品中的后期工作(我们只需压缩适当的文件并将它们放入其中)。

如果分支是“master”,我希望能够在第 2 步和第 3 步之间增加版本。

我正在努力想出一个好的解决方案。

我想知道只做 npm version 或 npm bump 这样的事情是否足够?看来我希望他们将其提交回 git 存储库?

寻找一些可能的建议

最佳答案

首先检测你在 master 分支上。如果是这样,请执行 npm version 更新。您还需要告诉 git 推送到远程存储库而不是缓存在 Bamboo 服务器上的存储库。例如,在构建计划的脚本任务中:

npm install
npm run build

if [[ "${bamboo.planRepository.branchName}" == "master" ]]; then
    
    # configure git to use the remote repo
    git remote set-url origin ${bamboo.planRepository.1.repositoryUrl}
    rm .git/objects/info/alternates
    git fetch

    # update the local version
    # this will increment the last version number, commit and tag the commit
    npm version patch

    # create your artifact
    npm pack

    # push the version update
    git push
    git push --tags    
fi

关于node.js - 在成功构建时增加 NPM/Grunt 版本 -- Bamboo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36701398/

相关文章:

c# - 将 Microsoft SQL 数据库迁移/转换为 MongoDB 数据库的最佳方法?

javascript - 如何通过 Node JS 从 Python 调用并检索结果?

linux - 通过 git 获取新的和修改的(真实状态)文件

javascript - nodejs - 以编程方式运行 grunt 任务

javascript - 缩小 jQuery tmpl html 模板

node.js - supertest .expect(function(res) {}) 如果测试正常返回什么

javascript - Node.js https 获取请求 ECONNRESET

json - Darkcoin nomp 矿池支付处理错误且缺少 ui

git - 单个开发人员是否需要 git 分支?

svn - 开发团队使用 GIT/Mercurial 与 SVN 交叉