Travis tiene una función para cifrar variables de entorno ("Encrypting environment variables"). Esto se puede usar para proteger tus claves API secretas. Lo he usado con éxito para mi clave de Heroku API.
Todo lo que tiene que hacer es instalar la gema travis, cifrar la cadena que desea y agregar la cadena cifrada en su .travis.yml
. El cifrado solo es válido para un repositorio. El comando travis
obtiene su clave pública para su repositorio y luego puede descifrar la cadena durante la compilación.
gem install --user travis
travis encrypt MY_SECRET_ENV=super_secret -r my_username/my_repo
Esto le da el siguiente resultado:
Please add the following to your .travis.yml file:
secure: "OrEeqU0z6GJdC6Sx/XI7AMiQ8NM9GwPpZkVDq6cBHcD6OlSppkSwm6JvopTR\newLDTdtbk/dxKurUzwTeRbplIEe9DiyVDCzEiJGfgfq7woh+GRo+q6+UIWLE\n3nowpI9AzXt7iBhoKhV9lJ1MROrnn4DnlKxAEUlHTDi4Wk8Ei/g="
No olvide documentar qué variables está usando y por qué, porque una vez encriptadas, solo alguien con las claves originales puede recuperar ellos. – jerseyboy
Parece que las versiones más nuevas de la gema de Travis prefieren tener sus argumentos en el orden opuesto: 'travis encrypt [args ..] [options]', es decir, querrás hacer 'travis encrypt MY_SECRET_ENV = super_secret -r mi_nombre de usuario/my_repo'. Poner las opciones primero y los datos que se cifrarán por última vez muestra una advertencia. –
@ Jordan gracias por la actualización, actualicé mi respuesta en consecuencia. – Odi