Github CLI: configurando variables de  ambientes desde la terminal.

Github CLI: configurando variables de ambientes desde la terminal.

Contexto

Github, es uno de los repositorios más famosos del control de versiones GIT. Github cuenta con una herramienta CLI (Command Line Interface) que abre un abanico de posibilidades interesantes para la gestión de los repositorios.

Recientemente, me toco configurar distintos ambientes para un proyecto grande, para la configuración de los pipelines en Github utilizamos las variables y los secreto por ambientes que ofrece Github. El número de variables y entornos a configurar era interesante, con lo cual no era una opción seguirlo haciendo a mano

A continuación resumiré las opciones que ofrece Github cli para configurar las variables de entorno de tus repositorios desde la terminal.

Instalar gh

Para todas las plataformas, todas las opciones de sistemas operativos, el link de instalación[Link], en mi caso macOS.

brew install gh

El comando con el que trabajaremos es gh

gh --version
# Output
# gh version 2.27.0 (2023-04-07)
# https://github.com/cli/cli/releases/tag/v2.27.0

Configurando las variables

gh Ofrece varias opciones de configuración, desde archivos, variables de entorno y a mano.

Configurando las variables una a una

# El valor directamente
$ gh variable set MYVARIABLE_ONE --body value1

# Desde una variable de entorno
$ gh variable set MYVARIABLE_TWO --body "$ENV_VALUE"

# Desde un archivo
$ gh variable set MYVARIABLE_THREE < myfile.txt

Configurando un grupo de variables

Posiblemente, la más poderosa de las opciones porque permite tener varios ambientes configurados localmente y realizando la configuración para cada ambiente, por ejemplo si tenemos .env_dev, .env_test

# Los ambientes (dev, test) tienen que estar creados previamente
$ gh variable set -f .env_dev --env dev
$ gh variable set -f .env_test --env test

Por ejemplo, el archivo .env_dev podría ser como se muestra a continuación.

MYVARIABLE_ONE: "value1"
MYVARIABLE_TWO: "value2"
MYVARIABLE_THREE: "value3"

Revisando las variables desde la terminal

con un simple comandos podemos revisar las variables en cada uno de los ambientes que tengamos configurados.

gh variable list --env dev
# Ouput ->
# NAME              VALUE   UPDATED
# MYVARIABLE_ONE    value1  about 4 minutes ago
# MYVARIABLE_THREE  value3  about 4 minutes ago
# MYVARIABLE_TWO    value2  about 4 minutes ago

y en la web de Github ...

Finalmente, lo mismo funciona para los secretos, se pueden configurar de forma similar, dejo los links en las referencias para que lo revisen ustedes...

¡Saludos y gracias!

Referencias