2016-10-05 2 views
2

Итак, я работал с конвейерами, используя отдельный файл yaml для хранения моих переменных, аналогично this example в документации. Однако я хотел бы установить мои переменные в моем основном файле pipe.yml, чтобы избежать использования параметра cli --load-vars-from some_other_file.yml. Как я могу это сделать?Запуск: Как установить переменные в файле трубопроводов?

Примечание: я мог бы искать что-то, что использует params:, но я хочу, чтобы Params я установил, чтобы быть глобальным для всего в моем файле pipeline.yml, так что все может использовать переменные I, установленные в нем.

ответ

0

Я не верю, что то, что вы хотите сделать, возможно, так, как вы предлагаете.

Я думаю, что у вас есть два варианта:

  1. Поместите файл YAML в ведре S3, и есть трубопровод смотреть ведро S3 в качестве ресурса, и вызвать set-pipeline на себя всякий раз, когда изменения, которые ведро, используя YAML-файл в ведро для заполнения переменных.
  2. Поместите свой файл YAML в ведро S3 и используйте его в качестве входных данных для любой работы, требующей этих переменных. Затем вы можете использовать инструмент, например yml2env, чтобы содержимое этого файла YAML было доступно для ваших сценариев в качестве переменных среды.
1

По concourse v3.3.0, вы можете настроить Credential Management для того, чтобы использовать переменные из Vault (это поддерживается только диспетчер учетных данных по стечению прямо сейчас). Таким образом, вам не нужно будет хранить какую-либо переменную в отдельном файле, и Vault также будет защищать их.

Используя Credential Manager вы можете параметризовать:

  • source по ресурсам в pipeline
  • source под resource_types в pipeline
  • source под image_resource в task config
  • params в pipeline
  • params в task config

Для создания хранилища с стечении вы можете найти на сайте:

https://concourse.ci/creds.html