Basic TravisCI Information

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Dostęp

TravisCI bezpośrednio integruje się z różnymi platformami gitowymi, takimi jak Github, Bitbucket, Assembla i Gitlab. Poprosi użytkownika o udzielenie uprawnień TravisCI do dostępu do repozytoriów, z którymi chce zintegrować TravisCI.

Na przykład, w Githubie poprosi o następujące uprawnienia:

  • user:email (tylko do odczytu)

  • read:org (tylko do odczytu)

  • repo: Udziela dostępu do odczytu i zapisu kodu, statusów commitów, współpracowników i statusów wdrożeń dla publicznych i prywatnych repozytoriów oraz organizacji.

Zaszyfrowane Sekrety

Zmienne Środowiskowe

W TravisCI, podobnie jak w innych platformach CI, możliwe jest zapisanie tajnych informacji na poziomie repozytorium, które zostaną zaszyfrowane i odszyfrowane oraz przekazane jako zmienna środowiskowa maszyny wykonującej proces budowania.

Można wskazać gałęzie, dla których tajne informacje będą dostępne (domyślnie wszystkie) oraz czy TravisCI powinien ukryć ich wartość, jeśli pojawi się w logach (domyślnie tak).

Niestandardowe Zaszyfrowane Sekrety

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ą:

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

Następnie możesz użyć tego ustawienia do szyfrowania tajemnic i dodawania ich do twojego pliku .travis.yaml. Tajemnice zostaną odszyfrowane podczas uruchamiania procesu kompilacji i będą dostępne w zmiennych środowiskowych.

Należy zauważyć, że tajemnice zaszyfrowane w ten sposób nie będą widoczne na liście zmiennych środowiskowych w ustawieniach.

Niestandardowe Pliki Szyfrowane

Tak samo jak wcześniej, TravisCI pozwala również szyfrować pliki, a następnie odszyfrowywać je podczas procesu kompilacji:

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.

Należy pamiętać, że podczas szyfrowania pliku w repozytorium zostaną skonfigurowane 2 zmienne środowiskowe, takie jak:

TravisCI Enterprise

Travis CI Enterprise to wersja lokalna Travis CI, którą można wdrożyć w swojej infrastrukturze. Można to porównać do wersji „serwerowej” Travis CI. Korzystanie z Travis CI pozwala na uruchomienie łatwego w użyciu systemu ciągłej integracji/dostarczania (CI/CD) w środowisku, które można skonfigurować i zabezpieczyć według własnych potrzeb.

Travis CI Enterprise składa się z dwóch głównych części:

  1. Usługi TCI (lub Usługi Podstawowe TCI), odpowiedzialne za integrację z systemami kontroli wersji, autoryzację budowy, planowanie zadań budowy, itp.

  2. Pracownik TCI oraz obrazy środowiska budowy (nazywane również obrazami systemu operacyjnego).

Usługi podstawowe TCI wymagają następującego:

  1. Bazy danych PostgreSQL11 (lub nowszej).

  2. Infrastruktury do wdrożenia klastra Kubernetes; może być wdrożony w klastrze serwerowym lub na pojedynczej maszynie, jeśli jest to wymagane.

  3. W zależności od 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.

Pracownik TCI wymaga następującego:

  1. Infrastruktury, w której można wdrożyć obraz dockerowy zawierający Pracownika i połączony obraz budowy.

  2. Połączenia z niektórymi komponentami Usług Podstawowych TCI - zobacz Konfiguracja Pracownika po więcej szczegółów.

Ilość wdrożonych pracowników TCI i obrazów systemu operacyjnego środowiska budowy będzie decydować o całkowitej zdolności równoczesnej wdrożenia Travis CI Enterprise w Twojej infrastrukturze.

Last updated