Basic TravisCI Information
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
TravisCI bezpośrednio integruje się z różnymi platformami git, takimi jak Github, Bitbucket, Assembla i Gitlab. Poprosi użytkownika o nadanie TravisCI uprawnień do dostępu do repozytoriów, które chce zintegrować z TravisCI.
Na przykład, w Github poprosi o następujące uprawnienia:
user:email
(tylko do odczytu)
read:org
(tylko do odczytu)
repo
: Przyznaje dostęp do odczytu i zapisu do kodu, statusów commitów, współpracowników i statusów wdrożeń dla publicznych i prywatnych repozytoriów oraz organizacji.
W TravisCI, podobnie jak w innych platformach CI, możliwe jest zapisywanie na poziomie repozytorium sekretów, które będą zapisywane w formie zaszyfrowanej i będą odszyfrowywane i przesyłane w zmiennej środowiskowej maszyny wykonującej budowę.
Możliwe jest wskazanie gałęzi, do których sekrety będą dostępne (domyślnie wszystkie) oraz czy TravisCI powinien ukryć ich wartość jeśli pojawią się w logach (domyślnie tak).
Dla każdego repozytorium TravisCI generuje parę kluczy RSA, przechowuje klucz prywatny i udostępnia klucz publiczny repozytorium tym, którzy mają dostęp do repozytorium.
Możesz uzyskać dostęp do klucza publicznego jednego repozytorium za pomocą:
Następnie możesz użyć tej konfiguracji, aby szyfrować sekrety i dodać je do swojego .travis.yaml
. Sekrety będą odszyfrowane, gdy budowa będzie uruchamiana i dostępne w zmiennych środowiskowych.
Zauważ, że sekrety szyfrowane w ten sposób nie będą widoczne na liście w zmiennych środowiskowych ustawień.
W ten sam sposób, co wcześniej, TravisCI również pozwala na szyfrowanie plików, a następnie odszyfrowywanie ich podczas budowy:
Zauważ, że podczas szyfrowania pliku 2 zmienne środowiskowe będą skonfigurowane w repozytorium, takie jak:
Travis CI Enterprise to wersja on-premise Travis CI, którą możesz wdrożyć w swojej infrastrukturze. Pomyśl o wersji 'serwerowej' Travis CI. Używanie Travis CI pozwala na włączenie łatwego w użyciu systemu Continuous Integration/Continuous Deployment (CI/CD) w środowisku, które możesz skonfigurować i zabezpieczyć według własnych potrzeb.
Travis CI Enterprise składa się z dwóch głównych części:
Usługi TCI (lub TCI Core Services), odpowiedzialne za integrację z systemami kontroli wersji, autoryzację budów, planowanie zadań budowlanych itp.
TCI Worker i obrazy środowiska budowlanego (nazywane również obrazami systemu operacyjnego).
Usługi TCI Core wymagają następujących elementów:
Bazy danych PostgreSQL11 (lub nowszej).
Infrastruktury do wdrożenia klastra Kubernetes; może być wdrożona w klastrze serwerów lub na pojedynczej maszynie, jeśli to konieczne.
W zależności od twojej konfiguracji, możesz chcieć wdrożyć i skonfigurować niektóre z komponentów samodzielnie, np. RabbitMQ - zobacz Konfiguracja Travis CI Enterprise po więcej szczegółów.
Worker TCI wymaga następujących elementów:
Infrastruktury, w której można wdrożyć obraz docker zawierający Worker i powiązany obraz budowy.
Łączności z niektórymi komponentami usług TCI Core - zobacz Konfiguracja Worker po więcej szczegółów.
Liczba wdrożonych Worker TCI i obrazów systemu operacyjnego środowiska budowlanego określi całkowitą równoległą pojemność wdrożenia Travis CI Enterprise w twojej infrastrukturze.
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)