Basic TravisCI Information

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Доступ

TravisCI безпосередньо інтегрується з різними git-платформами, такими як Github, Bitbucket, Assembla та Gitlab. Він попросить користувача надати TravisCI дозволи на доступ до репозиторіїв, з якими він хоче інтегрувати TravisCI.

Наприклад, у Github він попросить наступні дозволи:

  • user:email (тільки для читання)

  • read:org (тільки для читання)

  • repo: Надає доступ для читання та запису коду, статусів комітів, співробітників та статусів розгортання для публічних та приватних репозиторіїв та організацій.

Зашифровані Секрети

Змінні Середовища

У TravisCI, як і в інших платформах CI, можна зберігати секрети на рівні репозиторію, які будуть збережені у зашифрованому вигляді та розшифровані та передані в змінну середовища машини, що виконує збірку.

Можна вказати гілки, на яких секрети будуть доступні (за замовчуванням всі) і також чи TravisCI має приховувати його значення, якщо воно з'являється у журналах (за замовчуванням так).

Власні Зашифровані Секрети

Для кожного репозиторію TravisCI генерує RSA ключову пару, зберігає приватний ключ та робить публічний ключ репозиторію доступним для тих, хто має доступ до репозиторію.

Ви можете отримати доступ до публічного ключа одного репозиторію за допомогою:

travis pubkey -r <owner>/<repo_name>
travis pubkey -r carlospolop/t-ci-test

Після цього ви можете використовувати цей налаштування для шифрування секретів та додавання їх до вашого файлу .travis.yaml. Секрети будуть розшифровані при запуску збірки і будуть доступні у змінних середовища.

Зверніть увагу, що секрети, зашифровані цим способом, не будуть вказані у змінних середовища в налаштуваннях.

Користувацькі зашифровані файли

Так само, як і раніше, TravisCI також дозволяє шифрувати файли, а потім розшифровувати їх під час збірки:

travis encrypt-file super_secret.txt -r carlospolop/t-ci-test

encrypting super_secret.txt for carlospolop/t-ci-test
storing result as super_secret.txt.enc
storing secure env variables for decryption

Please add the following to your build script (before_install stage in your .travis.yml, for instance):

openssl aes-256-cbc -K $encrypted_355e94ba1091_key -iv $encrypted_355e94ba1091_iv -in super_secret.txt.enc -out super_secret.txt -d

Pro Tip: You can add it automatically by running with --add.

Make sure to add super_secret.txt.enc to the git repository.
Make sure not to add super_secret.txt to the git repository.
Commit all changes to your .travis.yml.

Зверніть увагу, що при шифруванні файлу будуть налаштовані 2 змінні середовища всередині репозиторію, такі як:

TravisCI Enterprise

Travis CI Enterprise - це локальна версія Travis CI, яку можна розгорнути в вашій інфраструктурі. Подумайте про версію Travis CI для сервера. Використання Travis CI дозволяє вам активувати систему Continuous Integration/Continuous Deployment (CI/CD), яку можна налаштувати та захистити за вашим бажанням.

Travis CI Enterprise складається з двох основних частин:

  1. Служби TCI (або основні служби TCI), відповідальні за інтеграцію з системами контролю версій, авторизацію збірок, планування завдань збірки тощо.

  2. Робочий процес TCI та зображення середовища збірки (також називається зображеннями ОС).

Основні служби TCI вимагають наступного:

  1. База даних PostgreSQL11 (або пізніша версія).

  2. Інфраструктура для розгортання кластера Kubernetes; його можна розгорнути в кластері серверів або на одному комп'ютері, якщо потрібно.

  3. Залежно від вашої настройки, ви можете бажати розгорнути та налаштувати деякі компоненти самостійно, наприклад, RabbitMQ - див. Налаштування Travis CI Enterprise для отримання додаткової інформації.

Робочий процес TCI вимагає наступного:

  1. Інфраструктура, де можна розгорнути образ docker, що містить робочий процес та пов'язане зображення збірки.

  2. Підключення до деяких компонентів основних служб Travis CI - див. Налаштування робочого процесу для отримання додаткової інформації.

Кількість розгорнутих робочих процесів TCI та зображень середовища збірки ОС визначатиме загальну одночасну потужність розгортання Travis CI Enterprise в вашій інфраструктурі.

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated