在travis yml配置中从json文件设置全局环境变量?

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

我试图从发布标签触发时,从json文件中设置以下env变量。

。travis.yml

env:
  global:
    - PACKAGE_VERSION=$(if [ -n "$TRAVIS_TAG" ]; then node -p require('./meta.json').deploy_version; else echo "next"; fi)

但是Travis在构建时出现了这些错误:

$ export PACKAGE_VERSION=$(if [ -n "$TRAVIS_TAG" ]; then node -p require('./meta.json')
/home/travis/.travis/functions: eval: line 104: unexpected EOF while looking for matching `)'
/home/travis/.travis/functions: eval: line 105: syntax error: unexpected end of file

meta.json

{
  "version": "3.0.0",
  "deploy_version": "v3"
}

并且我希望从标签/版本中触发时将PACKAGE_VERSION设置为v3,否则将PACKAGE_VERSION设置为next

感谢您给予的任何帮助!

node.js sh travis-ci
1个回答
0
投票

我也遇到了同样的问题,可以通过将节点位移动到自己的脚本中来使其正常工作:

文件ver.js

const {version} = require("./package.json");
console.log(version);

在travis.yml中

env:
  global:
    - PACKAGE_VERSION=$(node ver -p)
© www.soinside.com 2019 - 2024. All rights reserved.