web-dev-qa-db-fra.com

Utilisation de clés API secrètes sur travis-ci

Je voudrais utiliser travis-ci pour l'un de mes projets .

Le projet est un wrapper API, de nombreux tests reposent donc sur l'utilisation de clés API secrètes. Pour tester localement, je les stocke simplement en tant que variables d'environnement. Quel est le moyen sûr d'utiliser ces clés sur Travis?

90
user94154

Travis a une fonction pour crypter les variables d'environnement ( "Cryptage des variables d'environnement" ). Cela peut être utilisé pour protéger vos clés API secrètes. J'ai utilisé cela avec succès pour ma clé API Heroku.

Tout ce que vous avez à faire est d'installer la gemme travis, de crypter la chaîne que vous voulez et d'ajouter la chaîne cryptée dans votre .travis.yml. Le chiffrement n'est valable que pour un seul référentiel. La commande travis obtient votre clé publique pour votre dépôt et peut ensuite déchiffrer la chaîne pendant la génération.

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

Cela vous donne la sortie suivante:

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

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

selon this dans la documentation de travis ci, il est dit que:

Si les clients de ligne de commande Heroku et Travis CI sont installés, vous pouvez obtenir votre clé, la crypter et l'ajouter à votre .travis.yml en exécutant la commande suivante à partir de votre répertoire de projet:

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

se référer à ce qui suit tutoriel pour installer le client heroku selon votre système d'exploitation

6
Espoir Murhabazi

Vous pouvez également définir secret variables dans les paramètres du référentiel :

Les variables définies dans les paramètres du référentiel sont les mêmes pour toutes les générations et lorsque vous redémarrez une ancienne génération, elle utilise les dernières valeurs. Ces variables ne sont pas automatiquement disponibles pour les fourches.

Définissez dans les paramètres du référentiel des variables qui:

  • diffèrent selon le référentiel.
  • contiennent des données sensibles, telles que des informations d'identification tierces.

Pour définir des variables dans les paramètres du référentiel, assurez-vous que vous êtes connecté, accédez au référentiel en question, choisissez "Paramètres" dans le menu engrenage et cliquez sur "Ajouter une nouvelle variable" dans la section "Variables d'environnement".

4
pomber

Utilisez un autre jeu de clés API et procédez de la même manière. Votre boîte travis est configurée pour votre exécution de génération, puis complètement démolie une fois votre génération terminée. Vous avez un accès root à votre box pendant la construction, vous pouvez donc en faire ce que vous voulez.

0
markus