GitHub Actions Generator
Hasilkan workflow GitHub Actions YAML untuk pipeline CI/CD dengan trigger, job, dan step yang dapat disesuaikan.
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 buildTentang alat ini
GitHub Actions Generator adalah alat berbasis browser yang membantu pengembang membuat file alur kerja CI/CD tanpa menulis secara manual sintaks YAML. Dengan memilih pemicu, pekerjaan, dan langkah-langkah pembangunan melalui antarmuka intuitif, alat secara otomatis menghasilkan YAML alur kerja yang siap produksi yang dapat Anda salin langsung ke direktori .github/workflows repositori Anda.
Untuk menggunakan alat ini, mulai dengan mendefinisikan pemicu alur kerja (acara push, permintaan tarik, waktu terjadwal, atau aktivasi manual), kemudian konfigurasikan pekerjaan dan langkah-langkah yang harus dijalankan setiap pekerjaan. Anda dapat menambahkan beberapa pekerjaan yang berjalan secara berurutan atau paralel, menentukan variabel lingkungan, dan menyertakan tindakan umum seperti menginstal dependensi, menjalankan tes, membangun kode, dan menyebarkan ke produksi. Pendekatan ini ideal untuk tim yang menyiapkan integrasi berkelanjutan untuk pertama kalinya, pengembang yang ingin menghindari kesalahan sintaks YAML, atau siapa pun yang lebih memilih pembangun alur kerja visual daripada pengodean manual file konfigurasi.
YAML yang dihasilkan sepenuhnya kompatibel dengan GitHub Actions dan tidak memerlukan pemformatan tambahan. Tempelkan langsung ke file alur kerja Anda dan sesuaikan rahasia atau kredensial sesuai kebutuhan. Meskipun alat ini menyederhanakan pembuatan alur kerja, penyebaran multi-lingkungan yang kompleks atau strategi caching tingkat lanjut mungkin masih mendapat manfaat dari penyesuaian manual output yang dihasilkan.
Pertanyaan yang Sering Diajukan
Implementasi Kode
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.