Movatterモバイル変換


[0]ホーム

URL:


Skip to content
DEV Community
Log in Create account

DEV Community

Cover image for Cómo usar los secrets de Github
Roberto Morais
Roberto Morais

Posted on

     

Cómo usar los secrets de Github

Lo más probable es que como desarrollador hayas usado o uses en tu día a día la plataforma de Github para proteger y versionar tu código.

Desde hace mucho tiempo la plataforma de esta empresa, que inicialmente solo se usaba para almacenar el código de tu aplicación, también puede funcionar como un servidor de tu web y por ello tiene los llamados Secrets y Actions, dos tecnologías que debes dominar si quieres publicar, de forma segura, tu plataforma en el servidor de Github.

Empecemos por el principio.

¿Qué son los Secrets?

Github llama Secrets a los datos que no se deben compartir en el propio código por seguridad. Por ejemplo, la semilla o seem que estamos usando para encriptar y generar un JSON Web token válido para nuestros servidor de API REST.

¿Qué son los Actions?

Son flujos de trabajo que desatamos cuando hacemos una determinada acción sobre nuestro repositorio. Por ejemplo, un sistema de integración continua en el que le decimos que cada vez que se haga push sobre la rama Master se ejecute una acción.

Una vez que conocemos la teoría, vamos a la práctica.

Usar Secrets y Actions

Crear un Secret en Github

En este ejemplo vamos a crear un Secret para guardar la KEY de la API de Google maps, de este modo si alguien decide coger nuestro código, no tendrá nuestra clave de API de Google maps.(Todos sabemos que la podría sacar inspeccionando elemento en su google chrome y revisando el header de la web, pero no queremos ponérselo tan fácil.)

Vamos a las Settings de nuestro repositorio de Github, en el que queremos usar los Secrets, y en el menú de la izquierda nos aparece la opción de los secrets y al no tener ninguno lo veremos así:

Imagen de Secrets 1

Pulsando enNew Secret cargas el formulario para añadir un nuevo Secret a ese repositorio, en el que deberas indicar un nombre y un valor al secreto:

Imagen de Secrets 2

Una vez ambos datos sean correctos, guarda el secreto y ya habrás generado con éxito el primer Secret de tu repositorio, pero ahora debemos usarlo en nuestro código y para ello tenemos que crear un Action para nuestro repositorio.

Crear un Action CI

Para ello vamos a pinchar en Actions, dentro del menú de nuestro repositorio:

Imagen de Secrets 3

Al pulsar en Actions lo primero que veremos será los workflows sugeridos por Github dependiendo el lenguaje que usemos en ese repositorio:

Imagen de Secrets 4

Aunque si bajamos hasta abajo del todo veremos una opción para añadir un workflow en blanco, lo que nos genera una estructura básica:

Imagen de Secrets 5

En este caso seleccionamos la opción de"Manual workflow" porque más abajo tenemos un ejemplo de configuración de CI (Integración Continua) para asignar el Secret a una variable de entorno, lo que nos permitirá usar esa variable en nuestro código. Basta con que sustituyas el código de ejemplo por este:

name: Build and Deploy to GitHub Pages on Pushon:  push:    branches:      - masterjobs:  build-and-deploy:    runs-on: ubuntu-latest    steps:      - name: Checkout        uses: actions/checkout@master      - name: Build and Deploy        uses: JamesIves/github-pages-deploy-action@master        env:          ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}          API_GOOGLE_MAP: ${{ secrets.API_GOOGLE_MAP }}          BRANCH: gh-pages          FOLDER: public          BUILD_SCRIPT: yarn && yarn run build
Enter fullscreen modeExit fullscreen mode

En esta configuración hacemos que cuando se haga un push a la rama master de nuestro repositorio se ejecute la acción o Job: build-and-deploy que monta nuestra web sobre la última versión de un ubuntu y ejecuta dos acciones:

  1. Checkout: Lanza el comando de git checkout a la rama master dentro del ubuntu.
  2. Build and Deploy: Primero compila el código de nuestra web, lanzado el comando yarn run build. Después hace la acción de asignar las variables de entorno con los secrets que hemos creado : secrets.API_GOOGLE_MAP a la variable de entorno API_GOOGLE_MAP. Para ello usamos lo que ha desarrollado James Ives en su repositorio: github-pages-deploy-action@master pasándole las variables que necesita en el env. El resultado de este Job se guarda en la rama indicada en la variable: BRANCH y en este caso es el contenido de la carpeta (FOLDER) public de nuestro código.

En este ejemplo, uso este action para una web hecha con Gatsby, por eso uso la carpeta public ya que es donde genera el código estático de la web al lanzar el comando build.

Usar los Secrets como variables de entorno

Por ultimo, para usar las variables de entorno en nuestro código, solo tenemos que poner lo siguiente:

process.env.NOMBRE_VARIABLE; // in JavaScriptgetenv('MODE'); // in PHP
Enter fullscreen modeExit fullscreen mode

Top comments(0)

Subscribe
pic
Create template

Templates let you quickly answer FAQs or store snippets for re-use.

Dismiss

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment'spermalink.

For further actions, you may consider blocking this person and/orreporting abuse

I am a web application software programmer, I love learning new things and sharing experiences and knowledge with others.
  • Location
    Spain
  • Work
    Senior Developer
  • Joined

More fromRoberto Morais

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

Log in Create account

[8]ページ先頭

©2009-2025 Movatter.jp