Передача информации между этапами в travis-ci - PullRequest
0 голосов
/ 26 декабря 2018

Я хотел бы использовать бесплатный онлайн-сервис Transfer.sh для обмена артефактами сборки между этапами в travis ci.Хотя загрузка / загрузка проста, проблема заключается в том, что полученный URL-адрес содержит непредсказуемую часть, и, следовательно, весь URL-адрес становится непредсказуемым.

При загрузке артефактов на ранней стадии мне нужно передатьрезультирующие URL для последующих этапов.AFAIK, рабочие места в многоэтапной сборке строго изолированы друг от друга.

  • Таким образом, я ищу идеи о том, как передавать URL-адреса между этапами.
  • Также приветствуются идеи о том, как передавать артефакты с помощью (регистрации) бесплатных услуг.

1 Ответ

0 голосов
/ 03 сентября 2019

Я нашел решение для передачи артефактов между этапами сборки на Travis-CI: злоупотребление релизами github.

  1. Создание тега в репозитории github, например, "travis-ci"
  2. В .travis.yml установите TRAVIS_TAG = travis-ci.
  3. Добавьте шаг развертывания (развертывание в github) к этапам, на которых необходимо хранить артефакты.Создайте и используйте зашифрованный токен github для аутентификации.Это работает даже на хостах Windows, у которых отключены секретные переменные среды.Для этого шага требуется TRAVIS_TAG, потому что в противном случае он создаст новый тег, который нам не нужен.
  4. Включите текущий TRAVIS_BUILD_NUMBER в каждое имя файла
  5. На более позднем этапе используйте команду curl для загрузкиартефакт, потому что URL теперь предсказуем.

При создании тега можно было бы исключить переопределение TRAVIS_TAG и использовать этот конкретный тег для хранения промежуточных артефактов.Затем их можно удалить позже вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...