Frage

Ich würde gerne benutzen Travis-ci für einen von mir Projekte.

Das Projekt ist eine API -Wrapper, so dass viele der Tests auf die Verwendung geheimer API -Schlüssel beruhen. Um lokal zu testen, speichere ich sie einfach als Umgebungsvariablen. Was ist eine sichere Möglichkeit, diese Schlüssel auf Travis zu verwenden?

War es hilfreich?

Lösung

Travis hat eine Funktion, um Umgebungsvariablen zu verschlüsseln ("Umgebungsvariablen verschlüsseln"). Dies kann verwendet werden, um Ihre geheimen API -Schlüssel zu schützen. Ich habe dies erfolgreich für meinen Heroku -API -Schlüssel verwendet.

Alles, was Sie tun müssen, ist das Travis -Gem zu installieren, die gewünschte Zeichenfolge zu verschlüsseln und die verschlüsselte Zeichenfolge in Ihre .travis.yml. Die Verschlüsselung gilt nur für ein Repository. Das travis Der Befehl erhält Ihren öffentlichen Schlüssel für Ihr Repo und kann dann die Zeichenfolge während des Builds entschlüsseln.

gem install --user travis
travis encrypt MY_SECRET_ENV=super_secret -r my_username/my_repo

Dies gibt Ihnen die folgende Ausgabe:

Please add the following to your .travis.yml file:

  secure: "OrEeqU0z6GJdC6Sx/XI7AMiQ8NM9GwPpZkVDq6cBHcD6OlSppkSwm6JvopTR\newLDTdtbk/dxKurUzwTeRbplIEe9DiyVDCzEiJGfgfq7woh+GRo+q6+UIWLE\n3nowpI9AzXt7iBhoKhV9lJ1MROrnn4DnlKxAEUlHTDi4Wk8Ei/g="

Andere Tipps

entsprechend Dies In der Dokumentation von Travis CI heißt es:

Wenn Sie sowohl die Befehlszeilenkunden Heroku als auch Travis CI installieren lassen, können Sie Ihren Schlüssel erhalten, verschlüsseln und Ihrem .travis.yml hinzufügen, indem Sie den folgenden Befehl aus Ihrem Projektverzeichnis ausführen:

travis encrypt $(heroku auth:token) --add deploy.api_key

beziehen auf folgende Tutorial zur Installation von Heroku -Kunden nach Ihrem Betriebssystem

Sie können auch Geheimnis definieren Variablen in Repository -Einstellungen:

Variablen, die in den Repository -Einstellungen definiert sind, sind für alle Builds gleich. Wenn Sie einen alten Build neu starten, verwendet es die neuesten Werte. Diese Variablen sind für Gabeln nicht automatisch verfügbar.

Definieren Sie Variablen in den Repository -Einstellungen, die:

  • unterscheiden sich pro Repository.
  • enthalten sensible Daten wie Anmeldeinformationen von Drittanbietern.

Um Variablen in Repository -Einstellungen zu definieren, stellen Sie sicher, dass Sie sich angemeldet haben, navigieren Sie zum fraglichen Repository, wählen Sie im COG -Menü "Einstellungen" und klicken Sie im Abschnitt "Umgebungsvariablen" auf "Neue Variable hinzufügen".

Verwenden Sie einen anderen Satz von API -Schlüssel und tun Sie es auf die gleiche Weise. Ihre Travis -Box wird für Ihren Build -Lauf eingerichtet und dann nach Abschluss Ihres Builds wieder vollständig abgerissen. Sie haben während des Builds einen Root -Zugriff auf Ihre Box, damit Sie damit alles tun können, was Sie wollen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top