Gitlab Runner là gì? Tổng quan về Gitlab Runner – Phần 1

Gitlab runner là gì, nó có thể làm gì và tại sao tôi nên sử dụng nó? bài viết này sẽ cung cấp cho bạn cái nhìn tổng quan nhất về “công cụ” gitlab ci / cd

Có lẽ ngày nay cụm từ ci / cd không còn quá xa lạ. khi devops đã trở thành một cụm từ khá phổ biến vào năm 2022. mọi người và gia đình tìm hiểu về devops, điều này giúp công việc của họ hoạt động trơn tru và tự động hơn.

  • phần 3: hướng dẫn cài đặt gitlab runner trên macos
  • phần 3: hướng dẫn cài đặt gitlab runner trên windows
  • phần 4: các thành phần cơ bản trong file “. gitlab-ci.yml ”
  • phần 5: xây dựng hình ảnh docker với gitlab runner
  • phần 6: triển khai aws lambda với gitlab-ci và một khung công tác không máy chủ
  • trình chạy gitlab là gì? #

    đây là một phần mềm / công cụ mã nguồn mở, được viết bằng ngôn ngữ go và được tạo bởi chính gitlab để phục vụ ci / cd cho các dự án / kho lưu trữ được tạo bằng gitlab. người dùng có thể tự cài đặt trình chạy trên máy chủ của mình hoặc sử dụng trình chạy do gitlab cung cấp. người dùng chỉ cần tạo tệp .gitlab-ci.yml trong thư mục gốc của dự án / kho lưu trữ, để khởi tạo đường dẫn ci / cd và chỉ định trình chạy gitlab nào sẽ sử dụng.

    gitlab sẽ cung cấp 2 gói hỗ trợ, bao gồm:

    • miễn phí :
      • giới hạn: 400 phút / tháng đối với “kho lưu trữ riêng” và 5000 phút / tháng đối với “kho lưu trữ công cộng”.
      • không giới hạn: người dùng cài đặt và quản lý nhà môi giới của riêng họ.

      gitlab runner # loại

      người chạy sẽ bao gồm 2 loại:

      nhà môi giới được chia sẻ – được quản lý bởi gitlab #

      Nếu bạn đang theo xu hướng “không có máy chủ”, đây là một giải pháp nhanh chóng và giá cả phải chăng. bạn không phải cấu hình, quản lý, lo lắng về hiệu suất, tính khả dụng của nhà môi giới. những công việc này sẽ được gitlab xử lý. việc của bạn là sử dụng nó, trả thêm tiền nếu bạn đã hết hạn mức và muốn tiếp tục sử dụng.

      Shared runner

      Các runner này được cài đặt trên hệ thống máy chủ thuộc Google Cloud Platform – GCP. Bao gồm 3 loại runner chạy 3 hệ điều hành phổ biến hiện nay:

      • Cấu hình linux: n1-standard-1 (from south carolina – us-west1): 1 vcpu, 3,75 gb ram, 25 gb hdd, chạy google – google cos và phiên bản cài đặt mới nhất của công cụ docker.
      • windows (beta): cấu hình n1-standard-2: 2 vcpu, 7,5gb ram
      • macos (beta): chỉ áp dụng cho các dự án mã nguồn mở hoặc người dùng đăng ký gói cao cấp / gói cuối cùng

      nhà môi giới được chia sẻ sẽ xử lý “công việc” thông qua một hàng đợi đặc biệt: “hàng đợi sử dụng hợp lý”. hàng đợi này sẽ ngăn các dự án / kho lưu trữ tiếp quản toàn bộ trình chạy bằng cách tạo ra hàng trăm “công việc” cần được xử lý cùng một lúc. thay vào đó, hàng đợi này sẽ ưu tiên phân phối “công việc” cho các dự án / kho lưu trữ có ít “công việc” nhất được nhà môi giới chia sẻ sử dụng trước.

      nhà môi giới cụ thể / nhà môi giới riêng – được cài đặt và quản lý bởi người dùng #

      Đây là giải pháp sử dụng gitlab ci / cd hoàn toàn miễn phí. bạn có máy chủ của riêng mình, bạn muốn tự cài đặt và quản lý các nhà môi giới. người dùng sẽ cấu hình và chỉ định mỗi nhà môi giới sẽ được sử dụng cho một hoặc nhiều dự án / kho. Bằng cách sử dụng giải pháp này, bạn có thể đảm bảo tính bảo mật và kiểm soát dữ liệu của mình. đổi lại, bạn sẽ phải trả thêm một khoản chi phí kết nối mạng nếu sử dụng phương pháp này.

      Specific runner / Own runner

      Người dùng có thể tự cài đặt runner trên hầu hết các hệ điều hành phổ biến trên thị trường hiện nay: Linux, macOS, Windows,… mà không cần phải cài thêm bất kỳ phần mềm nào kèm theo. Ngoài ra, bạn hoàn toàn có thể thiết lập một Gitlab runner cho riêng mình bằng cách sử dụng Docker container hoặc bên trong Kubenetes cluster.

      nhóm chạy : vận động viên thuộc “nhóm” trong gitlab #

      group-runner

      Group runner. Nguồn ảnh: gitlab.com

      Khi người dùng tạo 1 runner thuộc loại “Group runner”, toàn bộ các dự án / repository thuộc group sẽ có thể sử dụng các runner này. Các runner này sẽ sử dụng cơ chế hàng đợi (queue – FIFO – First In First Out) để nhận và xử lý các “job”.

      tính năng của trình chạy gitlab #

      • bạn có thể chạy nhiều “công việc” ci / cd cùng lúc miễn là bạn có đủ người chạy
      • cho phép tùy chọn môi trường chạy “công việc” (khi chạy trình chạy gitlab với docker )
      • “job” có thể chạy cục bộ / vùng chứa docker / kết nối với máy chủ qua ssh
      • hỗ trợ bash, lõi powershell và windows powershell
      • hỗ trợ bộ nhớ đệm từ vùng chứa docker
      • máy chủ http máy chủ số liệu prometheus tích hợp
      • dễ cài đặt như một dịch vụ / dịch vụ trên gnu / linux, macos và windows

      bạn có thể xem chi tiết về các tính năng của trình chạy gitlab ngay bây giờ qua trang web chính thức của gitlab

      trình chạy gitlab hoạt động như thế nào #

      Về cơ chế, bạn có thể hiểu đơn giản rằng trình chạy gitlab sẽ giống như một trình tải. nhà cung cấp dịch vụ này sẽ chuyên cung cấp các “công việc” từ máy chủ gitlab cho “người thực thi”. máy chủ gitlab sẽ hoạt động như một đơn vị vận chuyển. chi tiết như sau:

      • Á hậu đăng ký làm “liên kết giới thiệu” cho máy chủ gitlab:
        • sử dụng dự án / kho lưu trữ “mã thông báo đăng ký” để đăng ký với máy chủ gitlab qua api
        • nhận kết quả nhật ký từ api
        • Á hậu nhận “công việc” từ máy chủ gitlab và chuyển tiếp chúng đến “máy thực thi” để xử lý:
          • gọi api để kiểm tra xem “công việc phù hợp” có cần được xử lý hay không, nếu có “công việc phù hợp” “, sau đó nhận nó để trao cho” người chạy “
          • sau khi nhận được” công việc phù hợp “, người chạy sẽ nhận được” mã thông báo công việc “và” khối lượng công việc “từ máy chủ gitlab và sẽ chuyển nó đến “người thực thi”
          • “người thực thi” sau khi nhận được thông tin từ nhà môi giới và sau đó tiến hành tìm nạp các tài nguyên / thông tin cần thiết từ máy chủ gitlab để xử lý “công việc” bằng “mã thông báo công việc”.
          • sau khi xử lý “công việc”, “người thực thi” sẽ cung cấp kết quả cho người chạy để gửi đến máy chủ gitlab.
          • sau khi nhận kết quả xử lý từ người chạy, máy chủ gitlab hiển thị kết quả trong giao diện người dùng

          nếu vẫn chưa hiểu, bạn có thể xem thêm hình ảnh minh họa bên dưới

          Gitlab runner workflow

          Cơ chế hoạt động của Gitlab runner. Nguồn ảnh: gitlab.com

          tham khảo: gitlab

          Trung tâm đào tạo công nghệ thông tin viễn thông tel4vn (tel4vn) chuyên đào tạo các khóa học devops như: docker, kubernetes, ansible, jenkins, linux …… .also, tel4vn cũng là trung tâm đào tạo voip mã nguồn mở duy nhất.

          🌐website: https://tel4vn.edu.vn/ 🔗 fanpage: https://www.facebook.com/tel4vn 🔗 youtube: tel4vn 🏠address: 82/2/9 dinh bo linh, p.26, quận bình thạnh, thành phố hồ chí minh ☎️ phone: 028 3622 0868 📩 email: tuyensinh@tel4vn.com

    Related Articles

    Back to top button