GitHub Actions Generator
Genera YAML de flujo de trabajo GitHub Actions para pipelines CI/CD con triggers, trabajos y pasos personalizables.
name: CI
on:
push:
branches: [main, master]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm test
- name: Build
run: npm run buildAcerca de esta herramienta
GitHub Actions Generator es una herramienta basada en navegador que ayuda a los desarrolladores a crear archivos de flujo de trabajo CI/CD sin escribir manualmente la sintaxis YAML. Al seleccionar triggers, trabajos y pasos de compilación a través de una interfaz intuitiva, la herramienta genera automáticamente YAML de flujo de trabajo listo para producción que puede copiar directamente en el directorio .github/workflows de su repositorio.
Para usar esta herramienta, comience definiendo el trigger del flujo de trabajo (eventos push, solicitudes pull, tiempos programados o activación manual), luego configure los trabajos y los pasos que cada trabajo debe ejecutar. Puede añadir múltiples trabajos que se ejecuten secuencial o paralelamente, especificar variables de entorno e incluir acciones comunes como instalar dependencias, ejecutar pruebas, compilar código y desplegar a producción. Este enfoque es ideal para equipos que configuran la integración continua por primera vez, desarrolladores que desean evitar errores de sintaxis YAML, o cualquiera que prefiera un constructor visual de flujos de trabajo en lugar de codificar manualmente archivos de configuración.
El YAML generado es completamente compatible con GitHub Actions y no requiere formato adicional: pégalo directamente en tu archivo de flujo de trabajo y personaliza los secretos o credenciales según sea necesario. Aunque esta herramienta simplifica la creación de flujos de trabajo, los despliegues complejos en múltiples entornos o estrategias de almacenamiento en caché avanzadas aún pueden beneficiarse del ajuste fino manual del resultado generado.
Preguntas Frecuentes
Implementación de Código
import yaml
def generate_github_actions_workflow(
name: str,
trigger: str,
jobs: list[dict]
) -> str:
workflow = {
"name": name,
"on": {},
"jobs": {}
}
if trigger == "push":
workflow["on"] = {"push": {"branches": ["main"]}}
elif trigger == "pull_request":
workflow["on"] = {"pull_request": {"branches": ["main"]}}
elif trigger == "schedule":
workflow["on"] = {"schedule": [{"cron": "0 0 * * *"}]}
else:
workflow["on"] = {trigger: {}}
for job in jobs:
job_id = job["id"]
workflow["jobs"][job_id] = {
"runs-on": job.get("runs_on", "ubuntu-latest"),
"steps": job.get("steps", [])
}
return yaml.dump(workflow, default_flow_style=False, sort_keys=False)
# Example: Node.js CI workflow
jobs = [
{
"id": "build",
"runs_on": "ubuntu-latest",
"steps": [
{"uses": "actions/checkout@v4"},
{"name": "Setup Node", "uses": "actions/setup-node@v4",
"with": {"node-version": "20"}},
{"name": "Install dependencies", "run": "npm ci"},
{"name": "Run tests", "run": "npm test"},
]
}
]
yaml_output = generate_github_actions_workflow("CI", "push", jobs)
print(yaml_output)Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.