Basic TravisCI Information

Unterstütze HackTricks

Zugriff

TravisCI integriert sich direkt mit verschiedenen Git-Plattformen wie Github, Bitbucket, Assembla und Gitlab. Es wird den Benutzer bitten, TravisCI Berechtigungen zu erteilen, um auf die Repos zuzugreifen, die er mit TravisCI integrieren möchte.

Zum Beispiel wird es bei Github um die folgenden Berechtigungen bitten:

  • user:email (nur lesen)

  • read:org (nur lesen)

  • repo: Gewährt Lese- und Schreibzugriff auf Code, Commit-Status, Mitarbeiter und Bereitstellungsstatus für öffentliche und private Repositories und Organisationen.

Verschlüsselte Geheimnisse

Umgebungsvariablen

In TravisCI, wie auch in anderen CI-Plattformen, ist es möglich, geheime Daten auf Repos-Ebene zu speichern, die verschlüsselt gespeichert und entschlüsselt und in die Umgebungsvariable der Maschine, die den Build ausführt, eingefügt werden.

Es ist möglich, die Zweige anzugeben, für die die Geheimnisse verfügbar sein sollen (standardmäßig alle) und auch, ob TravisCI den Wert verbergen soll, wenn er in den Logs erscheint (standardmäßig wird er das tun).

Benutzerdefinierte verschlüsselte Geheimnisse

Für jedes Repo generiert TravisCI ein RSA-Schlüsselpaar, behält den privaten Schlüssel und macht den öffentlichen Schlüssel des Repositories für diejenigen verfügbar, die Zugriff auf das Repository haben.

Du kannst auf den öffentlichen Schlüssel eines Repos zugreifen mit:

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

Dann können Sie dieses Setup verwenden, um Geheimnisse zu verschlüsseln und sie zu Ihrer .travis.yaml hinzuzufügen. Die Geheimnisse werden entschlüsselt, wenn der Build ausgeführt wird und sind in den Umgebungsvariablen zugänglich.

Beachten Sie, dass die auf diese Weise verschlüsselten Geheimnisse nicht in den Umgebungsvariablen der Einstellungen aufgeführt werden.

Benutzerdefinierte verschlüsselte Dateien

Genauso wie zuvor ermöglicht TravisCI auch, Dateien zu verschlüsseln und sie dann während des Builds zu entschlüsseln:

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.

Beachten Sie, dass beim Verschlüsseln einer Datei 2 Umgebungsvariablen im Repository konfiguriert werden, wie zum Beispiel:

TravisCI Enterprise

Travis CI Enterprise ist eine On-Prem-Version von Travis CI, die Sie in Ihrer Infrastruktur bereitstellen können. Denken Sie an die 'Server'-Version von Travis CI. Mit Travis CI können Sie ein einfach zu bedienendes Continuous Integration/Continuous Deployment (CI/CD)-System in einer Umgebung aktivieren, die Sie nach Ihren Wünschen konfigurieren und sichern können.

Travis CI Enterprise besteht aus zwei Hauptkomponenten:

  1. TCI Dienste (oder TCI Core Services), verantwortlich für die Integration mit Versionskontrollsystemen, die Autorisierung von Builds, die Planung von Build-Jobs usw.

  2. TCI Worker und Build-Umgebungsbilder (auch als OS-Bilder bezeichnet).

TCI Core-Dienste erfordern Folgendes:

  1. Eine PostgreSQL11 (oder später) Datenbank.

  2. Eine Infrastruktur zur Bereitstellung eines Kubernetes-Clusters; es kann in einem Server-Cluster oder auf einer einzelnen Maschine bereitgestellt werden, falls erforderlich.

  3. Abhängig von Ihrer Konfiguration möchten Sie möglicherweise einige der Komponenten selbst bereitstellen und konfigurieren, z.B. RabbitMQ - siehe Einrichten von Travis CI Enterprise für weitere Details.

TCI Worker erfordert Folgendes:

  1. Eine Infrastruktur, in der ein Docker-Image, das den Worker und ein verknüpftes Build-Image enthält, bereitgestellt werden kann.

  2. Konnektivität zu bestimmten Travis CI Core Services-Komponenten - siehe Einrichten von Worker für weitere Details.

Die Anzahl der bereitgestellten TCI Worker und Build-Umgebungs-OS-Bilder bestimmt die gesamte gleichzeitige Kapazität der Travis CI Enterprise-Bereitstellung in Ihrer Infrastruktur.

Unterstützen Sie HackTricks

Last updated