Как получить динамическое имя версии во время выполнения при развертывании движка приложений Google в Travis CI?

Я учусь автоматизировать сборку и развертывание моего приложения Google App Engine в Travis, поэтому оно позволяет мне иметь статическое или предопределенное имя версии во время развертывания в .travis.yml.

Есть ли способ сделать его динамически генерируемым во время выполнения? Как, например, ниже в моем файле.travis.yml, у меня есть развертывание для рабочей и промежуточной версии приложения, оба названы или помечены как production и qa-staging, и я хотел бы добавить суффиксы к именам версий с отметкой времени или любым другим до тех пор, пока она будет уникальной при каждой успешной сборке и развертывании.

language: node_js
node_js:
- "10"

before_install:
- openssl aes-256-cbc -K $encrypted_c423808ed406_key -iv $encrypted_c423808ed406_iv
  -in gae-creds.json.enc -out gae-creds.json -d
- chmod +x test.sh
- cat gae-creds.json

install:
- npm install

script:
- "./test.sh"

deploy:
  - provider: gae
    skip_cleanup: true
    keyfile: gae-creds.json
    project: traviscicd
    no_promote: true
    version: qa-staging
    on:
      branch: staging
  - provider: gae
    skip_cleanup: true
    keyfile: gae-creds.json
    project: traviscicd
    version: production
    on:
      branch: master

2 ответа

Вы пробовали с https://yaml.org/type/timestamp.html?

Я не уверен, что контекст является правильным, но кажется хорошим и элегантным вариантом для вашего файла yaml.

Возможно, вы можете использовать go generate создать строку версии, которая может быть включена? Вам нужно бежать go generate как часть процесса сборки для его работы, хотя.

Другие вопросы по тегам