Skip to content

Instantly share code, notes, and snippets.

@kosssi
Last active June 6, 2019 13:18
Show Gist options
  • Save kosssi/515a027295c8eb3dc4fe769c0c3a9068 to your computer and use it in GitHub Desktop.
Save kosssi/515a027295c8eb3dc4fe769c0c3a9068 to your computer and use it in GitHub Desktop.
Chiffrer/Déchiffrer des données avec Travis

Chiffrer des données sur Travis

Commencer par installer la CLI de Travis : gem install travis. il faut ensuite se connecter avec ses identifiants Github : travis login

Pour chiffrer une variable d'environnement

Exemple :

travis encrypt GITHUB_TOKEN=<your_GITHUB_TOKEN> -r cozy/cozy-banks

C'est important d'ajouter le -r surtout lorsque l'on travaille depuis un fork. Avec le paramètre --add, le CLI

Pour chiffrer/déchiffrer des fichiers

Travis utilise openssl pour chiffrer/déchiffrer des fichiers.

Chiffrer

Si vous voulez chiffrer un dossier il faut créer une archive de ce dossier :

tar zcvf decrypted.tar.gz decrypted/
travis encrypt-file decrypted.tar.gz encrypted.tar.gz.enc -p

Le paramètre -p permet d'afficher des informations comme les variables key et iv générées par Travis. Ça permet ensuite de pouvoir utiliser le même fichier pour les développeurs en local. Les variables sont à sauvegarder dans un outil de sauvegarde de mot de passe comme pass.

Déchiffrer

Il faut récupérer les variables key et iv puis lancer la commande suivante :

openssl aes-256-cbc -K $key -iv $iv -in encrypted.tar.gz.enc -out decrypted.tar.gz -d
tar zxvf decrypted.tar.gz

ou sans fichier intermédiaire :

openssl aes-256-cbc -K $key -iv $iv -in encrypted.tar.gz.enc -d | tar zxv

Il est possible d'ajouter l'option -C pour définir un dossier d'extraction

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment