Aeterflow
GIT · CI/CD· บนเครื่องของเราเอง

ทุก push วิ่งผ่าน
ท่อของเราเอง

เก็บโค้ด รีวิว build test และ deploy อยู่ใน Aeterflow ที่เดียว workflow เดิมจาก GitHub ใช้ต่อได้เกือบทั้งหมด

สถานะระบบ

กำลังตรวจสอบ…

ยังไม่ได้ตรวจสอบ · ตรวจอัตโนมัติทุก 30 วินาที

เวลาตอบกลับ (ms)—
ตรวจครั้งถัดไปใน30

จากโค้ด สู่ระบบที่พร้อมใช้

ภาพอธิบายขั้นตอน CI/CD

pushbuildtestdeploy
push →build →test →deploy

ส่งโค้ดขึ้นระบบ

ตัวอย่าง · ไม่ใช่สถานะงานจริง

เริ่มต้นใช้งาน

  1. ขอบัญชีจากผู้ดูแล

    ระบบปิดการสมัครเองไว้ ติดต่อผู้ดูแลในกลุ่มแชตของทีมเพื่อขอบัญชีและเข้าร่วมทีม

  2. เข้าสู่ระบบและปกป้องบัญชี

    กด “เข้า Git” แล้วเปลี่ยนรหัสผ่านและเปิดการยืนยันตัวตนสองขั้นตอน (2FA) ในการตั้งค่าบัญชี

  3. เพิ่มกุญแจ SSH

    สร้างกุญแจบนเครื่อง แล้วเพิ่มเฉพาะกุญแจสาธารณะในเมนูการตั้งค่า → กุญแจ SSH (Settings → SSH Keys)

    ssh-keygen -t ed25519
  4. โคลนโปรเจกต์หรือย้ายรีโมตเดิม

    แทนที่ <repo> ด้วยชื่อโปรเจกต์ แล้วเลือกคำสั่งตามการใช้งาน

    git clone ssh://git@git.<โดเมน>:2222/aeterflow/<repo>.git
    git remote set-url origin ssh://git@git.<โดเมน>:2222/aeterflow/<repo>.git
  5. เริ่มใช้ CI

    ใช้ workflow เดิมใน .github/workflows ได้ โดยเลือก runs-on: ubuntu-latest หากเขียนใหม่ให้วางใน .forgejo/workflows และตรวจข้อแตกต่างในขั้นตอนที่ 7

  6. ตั้งค่าความลับสำหรับงาน CI

    ไปที่โปรเจกต์ → การตั้งค่า → Actions → Secrets (Settings → Actions → Secrets) หรือตั้งค่าระดับองค์กร แล้วเพิ่มค่าที่ workflow ต้องใช้

  7. ตรวจข้อแตกต่างจาก GitHub ก่อนย้าย

    • ไม่มี runner สำหรับ macOS และ Windows ให้ปรับงานมาใช้ Ubuntu หรือหาทางอื่น
    • แอ็กชันที่เรียก GitHub API เช่น actions/github-script หรือ gh ต้องแก้หรือตัดออก
    • environment: ถูกข้ามเงียบ ไม่มีด่านอนุมัติหรือความลับระดับ environment ต้องเตรียมด่านแทนที่พิสูจน์แล้วก่อนย้ายงานขึ้นระบบจริง
    • การ deploy ไป GCP ด้วย OIDC ต้องใส่ enable-openid-connect: true ระดับ job โดยใช้ Workload Identity Federation และจำกัดสิทธิ์ตามโปรเจกต์และ ref
    • services: และการเชื่อมต่อผ่าน localhost:<port> ใช้ได้

เอกสารและความช่วยเหลือ

เอกสาร Forgejo Actions · หน้าสถานะ

ติดต่อผู้ดูแลในกลุ่มแชตของทีม