У меня есть необходимость пропустить этап, если переменная окружения не установлена.
Если env var задан как простой текст, он работает, например:
language: node_js
node_js:
- '10'
sudo: required
services:
- docker
- mongodb
script:
- npm run test
env:
- DOCKER_PASS=TEST
jobs:
include:
- stage: Tests
if: env(DOCKER_PASS) IS NOT blank
name: Integration tests
script: npm run test
- stage: Mutation
name: Mutation tests
script: npm run test:mutation
но если я изменю переменную среды на безопасную, такую как:
travis encrypt DOCKER_PASS=test --add
language: node_js
node_js:
- '10'
sudo: required
services:
- docker
- mongodb
script:
- npm run test
jobs:
include:
- stage: Tests
if: env(DOCKER_PASS) IS NOT blank
name: Integration tests
script: npm run test
- stage: Mutation
name: Mutation tests
script: npm run test:mutation
env:
global:
secure: SECURE_VALUE
, она не будет работать.
Есть ли какие-либо ограничения вокруг использования функции env () с secureпеременные окружения?