在Azure Pipelines中运行npm版本脚本

时间:2019-03-29 11:23:01

标签: node.js npm azure-devops azure-pipelines azure-pipelines-build-task

我试图在Azure DevOps Pipelines,托管Ubuntu代理上为具有自动递增版本号的nodejs项目设置CI。

使用npm版本补丁增加版本时出现错误

[command]/opt/hostedtoolcache/node/8.12.0/x64/bin/npm run release-it
npm ERR! Git working directory not clean.

npm ERR! M package-lock.json
> identity@2.0.2 release-it /home/vsts/work/1/s

> npm version patch && git push --follow-tags
npm ERR! A complete log of this run can be found in:

即使我不按git,错误仍然存​​在。

作为配置项的一部分,我已经清理了回购协议

resources:
- repo: self
  clean: true

trigger:
  batch: true
  branches:
    include:
    - '*'

pr:
  autoCancel: true
  branches:
    include:
    - 'master'

jobs:
- job: identity_release
  timeoutInMinutes: 20
  workspace:
    clean: all
  pool:
    vmImage: 'ubuntu-16.04'
    demands: 
    - npm
  condition: or(eq(variables['Build.Reason'], 'Manual'), eq(variables['Build.Reason'], 'Schedule'))
  steps:
    - script: echo The build reason is $(Build.Reason) and branch is $(Build.SourceBranch)
    - template: release-build-steps.yml

我已经在CI中使用Shell脚本清理了构建源目录,但无济于事。

任何方向都会有所帮助。

1 个答案:

答案 0 :(得分:0)

根据npm-version docs,如果工作目录不干净,该命令将失败。我从您的错误日志中看到package-lock.json文件已被修改,导致npm version命令失败。

要解决此问题,请提交package-lock.json文件或使用类似这样的force标志

def avg(x):
   return sum(x/float(len(x))

  x_avg=avg(list1)
  y_avg=avg(list2)
  result=0
  beta=cars_sold,car_sold / covariance (car_sold,car_sold) alpha= 
  avg(house)-b * avg