我试图从发布标签触发时,从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
。
感谢您给予的任何帮助!
答案 0 :(得分:1)
我也遇到了同样的问题,可以通过将节点位移动到自己的脚本中来使其正常工作,如下所示:
文件ver.js
const {version} = require("./package.json");
console.log(version);
在travis.yml
env:
global:
- PACKAGE_VERSION=$(node ver -p)