Basic TravisCI Information
Last updated
Last updated
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
TravisCI безпосередньо інтегрується з різними git платформами, такими як Github, Bitbucket, Assembla та Gitlab. Він попросить користувача надати TravisCI дозволи для доступу до репозиторіїв, з якими він хоче інтегруватися.
Наприклад, у Github він запитає наступні дозволи:
user:email
(тільки для читання)
read:org
(тільки для читання)
repo
: Надає доступ на читання та запис до коду, статусів комітів, співпрацівників та статусів розгортання для публічних та приватних репозиторіїв і організацій.
У TravisCI, як і в інших CI платформах, можливо зберігати на рівні репозиторію секрети, які будуть збережені в зашифрованому вигляді та дешифруватимуться і передаватимуться в змінну середовища машини, що виконує збірку.
Можливо вказати гілки, до яких секрети будуть доступні (за замовчуванням всі) і також, чи повинен TravisCI приховувати його значення, якщо воно з'являється в логах (за замовчуванням так).
Для кожного репозиторію TravisCI генерує пару RSA ключів, зберігає приватний ключ і робить публічний ключ репозиторію доступним для тих, хто має доступ до репозиторію.
Ви можете отримати доступ до публічного ключа одного репозиторію за допомогою:
Тоді ви можете використовувати цю налаштування, щоб шифрувати секрети та додавати їх до вашого .travis.yaml
. Секрети будуть розшифровані, коли буде запущено збірку і доступні в змінних середовища.
Зверніть увагу, що секрети, зашифровані таким чином, не з'являться у списку змінних середовища в налаштуваннях.
Так само, як і раніше, TravisCI також дозволяє шифрувати файли, а потім розшифровувати їх під час збірки:
Зверніть увагу, що при шифруванні файлу 2 змінні середовища будуть налаштовані в репозиторії, такі як:
Travis CI Enterprise - це локальна версія Travis CI, яку ви можете розгорнути у своїй інфраструктурі. Уявіть собі «серверну» версію Travis CI. Використання Travis CI дозволяє вам активувати просту у використанні систему безперервної інтеграції/безперервного розгортання (CI/CD) в середовищі, яке ви можете налаштувати та захистити на свій розсуд.
Travis CI Enterprise складається з двох основних частин:
TCI сервіси (або TCI Core Services), відповідальні за інтеграцію з системами контролю версій, авторизацію збірок, планування завдань збірки тощо.
TCI Worker та образи середовища збірки (також називаються образами ОС).
TCI Core services вимагають наступного:
PostgreSQL11 (або новішу) базу даних.
Інфраструктуру для розгортання кластера Kubernetes; його можна розгорнути в кластері серверів або на одному комп'ютері, якщо це необхідно.
Залежно від вашої конфігурації, ви можете захотіти розгорнути та налаштувати деякі компоненти самостійно, наприклад, RabbitMQ - див. Налаштування Travis CI Enterprise для отримання додаткової інформації.
TCI Worker вимагає наступного:
Інфраструктуру, де можна розгорнути образ docker, що містить Worker та пов'язаний образ збірки.
З'єднання з певними компонентами Travis CI Core Services - див. Налаштування Worker для отримання додаткової інформації.
Кількість розгорнутого TCI Worker та образів середовища збірки ОС визначатиме загальну одночасну потужність розгортання Travis CI Enterprise у вашій інфраструктурі.
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)