Basic TravisCI Information

Wsparcie dla HackTricks

Dostęp

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.

Szyfrowane sekrety

Zmienne środowiskowe

W TravisCI, podobnie jak w innych platformach CI, możliwe jest zapisywanie na poziomie repozytorium sekretów, które będą przechowywane w formie zaszyfrowanej i będą odszyfrowywane i wprowadzane do 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).

Niestandardowe szyfrowane 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ć 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ń.

Niestandardowe Szyfrowane Pliki

W ten sam sposób, co wcześniej, TravisCI również pozwala na szyfrowanie plików, a następnie odszyfrowywanie ich podczas budowy:

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.

Note that when encrypting a file 2 Env Variables will be configured inside the repo such as:

TravisCI Enterprise

Travis CI Enterprise to wersja on-premise Travis CI, którą możesz wdrożyć w swojej infrastrukturze. Myś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:

  1. TCI usługi (lub TCI Core Services), odpowiedzialne za integrację z systemami kontroli wersji, autoryzację budów, planowanie zadań budowlanych itp.

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

Usługi TCI Core wymagają następujących elementów:

  1. Bazy danych PostgreSQL11 (lub nowszej).

  2. Infrastruktury do wdrożenia klastra Kubernetes; może być wdrożona w klastrze serwerów lub na pojedynczej maszynie, jeśli to konieczne.

  3. 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:

  1. Infrastruktury, w której można wdrożyć obraz docker zawierający Worker i powiązany obraz budowy.

  2. Łączności z niektórymi komponentami usług TCI Core - zobacz Konfiguracja Worker po więcej szczegółów.

Liczba wdrożonych obrazów systemu operacyjnego TCI Worker i środowiska budowy określi całkowitą równoległą pojemność wdrożenia Travis CI Enterprise w twojej infrastrukturze.

Support HackTricks

Last updated