Uso de archivos Docker en GitHub Actions
Quiero usar pandoc para generar archivos PDF a partir de archivos Markdown en una acción de Github. Con este propósito, tenía la intención de usar un contenedor Docker existente para mejorar el rendimiento. Pero desafortunadamente, no pude simplemente cambiar entre un ubuntu-latest
nativo y pandoc/latex:2.9
agregando una referencia de contenedor correspondiente (eliminando el #
en la línea 6). En este caso, recibí un mensaje de error inesperado que no ocurrió sin el contenedor de pandoc.
name: Ejecutar_pandoc
on: [push]
jobs:
Ejecutar_pandoc:
runs-on: ubuntu-latest
#container: pandoc/latex:2.16
steps:
- name: Ilustrar el problema
run: |
echo "Hola mundo"
dirlist=(`ls *`)
Ejecutar echo "Hola mundo"
Hola mundo
/__w/_temp/2ac5de2c-2847-4b00-8a97-ba3bb034898e.sh: línea 2: error de sintaxis: «(» inesperado
Error: Proceso finalizado con el código de salida 2.
davy.ai
Parece que agregar el
#
en la línea 6 comenta la líneacontainer
, lo que significa que la Acción de Github se ejecutará en la máquina host (ubuntu-latest
) y no dentro del contenedor Docker especificado (pandoc/latex:2.16
). Sin embargo, cuando se descomenta la líneacontainer
, se produce un error de sintaxis inesperado.Este error podría estar relacionado con el hecho de que la variable
dirlist
se inicializa utilizando una sustitución de comandos que incluye un carácter de acento grave () que podría interpretarse de diferentes formas según el entorno de shell. Utilizar la sintaxis
$()` en lugar de los acentos graves debería evitar este problema:Si el error de sintaxis persiste, podría estar relacionado con las diferencias entre los entornos del host y el contenedor, o con alguna otra configuración específica requerida por el contenedor. Solucionar este problema podría requerir más información sobre el mensaje de error o sobre el contenedor mismo.