Uso de claves api secretas en travis-ci


Me gustaría usar travis-ci para uno de mis proyectos .

El proyecto es un envoltorio de API, por lo que muchas de las pruebas se basan en el uso de claves API secretas. Para probar localmente, solo las almaceno como variables de entorno. ¿Cuál es una forma segura de usar esas llaves en Travis?

Author: user94154, 2012-02-18

4 answers

Travis tiene una característica para cifrar variables de entorno ("Cifrar variables de entorno"). Esto se puede utilizar para proteger sus claves API secretas. He utilizado con éxito esto para mi clave de API de Heroku.

Todo lo que tiene que hacer es instalar la gema travis, cifrar la cadena que desee 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 el construir.

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

Esto le da la siguiente salida:

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

  secure: "OrEeqU0z6GJdC6Sx/XI7AMiQ8NM9GwPpZkVDq6cBHcD6OlSppkSwm6JvopTR\newLDTdtbk/dxKurUzwTeRbplIEe9DiyVDCzEiJGfgfq7woh+GRo+q6+UIWLE\n3nowpI9AzXt7iBhoKhV9lJ1MROrnn4DnlKxAEUlHTDi4Wk8Ei/g="
 89
Author: Odi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-09 21:50:38

De acuerdo con este en la documentación de travis ci se dice que:

Si tiene instalados los clientes de línea de comandos Heroku y Travis CI, puede obtener su clave, cifrarla y agregarla a su .travis.yml ejecutando el siguiente comando desde el directorio del proyecto:

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

Consulte el siguiente tutorial para instalar el cliente heroku de acuerdo con su sistema operativo

 4
Author: Espoir Murhabazi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-25 11:30:38

También puede definir variables secretas en la configuración del repositorio :

Las variables definidas en la configuración del repositorio son las mismas para todas las compilaciones, y cuando reinicia una compilación antigua, utiliza los valores más recientes. Estas variables no están disponibles automáticamente para las bifurcaciones.

Definir variables en la configuración del Repositorio que:

  • difieren por repositorio.
  • contienen datos confidenciales, como credenciales de terceros.

A defina variables en la Configuración del repositorio, asegúrese de haber iniciado sesión, navegue hasta el repositorio en cuestión, elija "Configuración" en el menú del engranaje y haga clic en "Agregar nueva variable" en la sección "Variables de entorno".

 2
Author: pomber,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-06 19:09:10

Use un conjunto diferente de claves API y hágalo de la misma manera. Su travis box se configura para su ejecución de compilación y luego se derrumba completamente de nuevo después de que su compilación haya terminado. Tienes acceso root a tu caja durante la compilación, por lo que puedes hacer lo que quieras con ella.

 0
Author: markus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-18 11:13:31