Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • GitLab CI: Scripts

    🔥 Khi anh em DevOps/Automation nói về GitLab CI/CD, gần như mọi thứ đều xoay quanh script và stages – đây là “trái tim” của pipeline. Nếu nắm chắc 3 khái niệm này: script, stages, before_script/after_script, thì anh em đã đi được nửa chặng đường làm chủ GitLab CI.
    1️⃣ Script – linh hồn của job
    • Trong GitLab CI, script là keyword bắt buộc duy nhất trong mỗi job.
    • Đây chính là tập lệnh mà runner sẽ thực thi.
    • Có thể viết trên một dòng hoặc một mảng nhiều dòng.
    • Nếu lệnh nào exit code ≠ 0, job sẽ fail ngay lập tức và dừng.

    Ví dụ:
    job1: stage: build script: "python run.py" job2: stage: test script: - uname -a - python --version - python verify_script.py
    👉 Runner sẽ chạy tuần tự từng lệnh, giống như anh em gõ trực tiếp trong terminal.
    2️⃣ Stages – pipeline chạy theo nhịp
    • Jobs được gom nhóm bằng keyword stage.
    • Các stage chạy theo thứ tự định nghĩa trong stages: (ví dụ: build → test → deploy).
    • Trong cùng một stage, nhiều job có thể chạy song song.
    • Nếu một job trong stage fail → pipeline dừng tại stage đó.

    Ví dụ:
    stages: - build - test - deploy
    Ngoài ra GitLab CI có 2 stage đặc biệt:
    • .pre: luôn chạy đầu tiên.
    • .post: luôn chạy cuối cùng.

    3️⃣ Before và After Script – setup & cleanup tự động
    • Dùng để khai báo lệnh trước và sau script.
    • before_script: giúp chuẩn bị môi trường (setup package, export biến, login container registry…).
    • after_script: chạy cleanup, luôn được thực thi kể cả khi job fail.
    • Có thể khai báo toàn cục bằng default: hoặc override riêng trong từng job.

    Ví dụ:
    default: before_script: - echo "Global setup" job: stage: test before_script: - echo "Custom setup" script: - echo "Running test" after_script: - echo "Cleanup..."

    📌 Chốt lại cho anh em DevOps:
    • script là bắt buộc → chính là lệnh mà runner chạy.
    • stages quyết định thứ tự pipelinesong song trong stage.
    • before_script & after_script giúp tự động hóa setup & cleanup, giảm thao tác thủ công.
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X