在node.js脚本中访问.gitlab-ci.yml中设置的别名

时间:2018-01-31 16:00:56

标签: node.js bash gitlab

.gitlab-ci.yml

image: docker.x.x/vertica
cache:
    paths:
        - node_modules/

job:
    script:
        - shopt -s expand_aliases
        - alias vsql="/opt/vertica/bin/vsql"
        - source /nvm
        - nvm install 8.9
        - nvm use
        - npm install
        - npm test

我的node.js测试错误:

  1) Setup
       Should create test table for tests:

      AssertionError [ERR_ASSERTION]: '/bin/sh: vsql: command not found\n' === ''
      + expected - actual

      -/bin/sh: vsql: command not found

      at Context.<anonymous> (test/index.test.js:86:20)
      at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)

我查看了这个答案:https://stackoverflow.com/a/37309112/1137669但不知道如何在gitlab-ci.yml文件中实现它,以便node.js脚本可以访问它。

1 个答案:

答案 0 :(得分:0)

尝试使用多行脚本。

所以:

job:
  script:
    - PATH=$$PATH:/opt/vertica/bin &&
      source /nvm &&
      nvm install 8.9 &&
      nvm use &&
      npm install &&
      npm test

script哈希中的每个条目都将在一个单独的shell中执行。有关如何使用多行脚本,请参阅this answer