GitHub Actions Generator
Genera GitHub Actions workflow YAML per pipeline CI/CD con trigger, job e step personalizzabili.
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 buildInformazioni sullo strumento
GitHub Actions Generator è uno strumento basato su browser che aiuta gli sviluppatori a creare file di flusso di lavoro CI/CD senza scrivere manualmente la sintassi YAML. Selezionando trigger, job e passaggi di compilazione attraverso un'interfaccia intuitiva, lo strumento genera automaticamente YAML di flusso di lavoro pronto per la produzione che è possibile copiare direttamente nella directory .github/workflows del tuo repository.
Per utilizzare questo strumento, inizia definendo il trigger del flusso di lavoro (eventi push, richieste pull, orari pianificati o attivazione manuale), quindi configura i job e i passaggi che ogni job deve eseguire. Puoi aggiungere più job che vengono eseguiti sequenzialmente o in parallelo, specificare variabili di ambiente e includere azioni comuni come l'installazione delle dipendenze, l'esecuzione di test, la compilazione del codice e la distribuzione in produzione. Questo approccio è ideale per i team che configurano l'integrazione continua per la prima volta, gli sviluppatori che desiderano evitare errori di sintassi YAML, o chiunque preferisca un costruttore visuale di flussi di lavoro rispetto alla codifica manuale di file di configurazione.
Lo YAML generato è completamente compatibile con GitHub Actions e non richiede ulteriore formattazione. Incollalo direttamente nel tuo file di flusso di lavoro e personalizza i segreti o le credenziali secondo necessità. Sebbene questo strumento semplifichi la creazione del flusso di lavoro, le distribuzioni complesse in più ambienti o le strategie di caching avanzate possono comunque beneficiare dalla messa a punto manuale dell'output generato.
Domande Frequenti
Implementazione del Codice
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.