3.7 KiB
Podstawowe informacje o TravisCI
{{#include ../../banners/hacktricks-training.md}}
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
travis pubkey -r <owner>/<repo_name>
travis pubkey -r carlospolop/t-ci-test
Następnie możesz użyć tej konfiguracji do szyfrowania sekretów i dodawania ich do swojego .travis.yaml. Sekrety będą odszyfrowane, gdy budowa zostanie uruchomiona 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.
Zauważ, że podczas szyfrowania pliku 2 zmienne środowiskowe będą skonfigurowane w repozytorium, takie jak:
TravisCI Enterprise
Travis CI Enterprise to wersja on-prem 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 budowy (nazywane również obrazami systemu operacyjnego).
Usługi TCI Core wymagają następujących:
- 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 Setting up Travis CI Enterprise po więcej szczegółów.
Worker TCI wymaga następujących:
- Infrastruktury, w której można wdrożyć obraz docker zawierający Worker i powiązany obraz budowy.
- Łączności z niektórymi komponentami Travis CI Core Services - zobacz Setting Up Worker po więcej szczegółów.
Liczba wdrożonych Worker TCI i obrazów systemu operacyjnego środowiska budowy określi całkowitą równoległą pojemność wdrożenia Travis CI Enterprise w twojej infrastrukturze.
{{#include ../../banners/hacktricks-training.md}}
.png)
.png)
.png)