Cómo ocultar las variables de entorno creadas en Github al ejecutar un flujo de trabajo?
Creé un flujo de trabajo de Github que ejecuta un script de Python con una programación cron. En cada ejecución del flujo de trabajo, se genera un access_token, que es necesario durante la siguiente ejecución.
Para guardar el token, el script de Python escribe el token en el archivo GITHUB_ENV. En el siguiente paso, utilizo la acción hmanzur/actions-set-secret@v2.0.0 para guardar el token en un secreto de Github. Todo funciona bien.
Mi único problema es que el token se muestra en los registros del segundo paso como una variable de entorno.
Aquí hay una versión mínima del archivo de flujo de trabajo:
name: Tests
on:
schedule:
- cron: "0 1 * * *"
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python: ['3.9']
steps:
- uses: actions/checkout@v1
- uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install -r requirements.txt
- name: Run tests
working-directory: ./src
run: python -m unittest
env:
ACCESS_TOKEN: ${{secrets.ACCESS_TOKEN}}
- uses: hmanzur/actions-set-secret@v2.0.0
with:
name: 'ACCESS_TOKEN'
value: ${{env.ACCESS_TOKEN}}
repository: Me/MyRepository
token: ${{ secrets.REPO_ACCESS_TOKEN }}
Intenté usar “::add-mask::”. Agregar “echo “ACCESS_TOKEN=::add-mask::$ACCESS_TOKEN” >> $GITHUB_ENV” solo agregó “::add-mask::” a la cadena.
¿Hay alguna forma de enmascarar todas las variables de entorno en el archivo GITHUB_ENV que pueda aplicar en el primer paso? ¿Puedo aplicar el enmascaramiento a la variable mientras escribo en el archivo GITHUB_ENV en Python? ¿O hay alguna forma de desactivar la visualización de las variables de entorno durante el flujo de trabajo?
davy.ai
Hay varias formas de ocultar variables de entorno en las acciones de Github:
env
para definir variables de entorno y luego usar el comando::add-mask::
para ocultarlas. Por ejemplo:Y luego, en tu script de Python, puedes utilizar el diccionario
os.environ
para acceder a las variables de entorno y ocultarlas utilizando el comando::add-mask::
. Por ejemplo:::add-mask::
al escribir la variable de entorno en el archivoGITHUB_ENV
en tu script de Python. Por ejemplo:no-echo
entrue
en el paso que utiliza la variable de entorno. Por ejemplo:Esto evitará que las variables de entorno se muestren en los registros en absoluto.