Pipelines bitbucket và những điều cần biết

Là cái gì

Bitbucket Pipeline là một dịch vụ tích hợp liên tục (CI/CD) được cung cấp bởi Bitbucket, một nền tảng quản lý mã nguồn và dự án phần mềm được phát triển bởi Atlassian.

Dịch vụ này cho phép các nhà phát triển xây dựng và triển khai phần mềm một cách nhanh chóng và tự động. Nó cho phép các nhà phát triển tạo ra các pipeline xử lý tự động để thực hiện các bước như kiểm tra mã nguồn, biên dịch, kiểm tra đơn vị, kiểm tra tích hợp và triển khai tự động.

Pipeline của Bitbucket sử dụng một tệp cấu hình YAML để định nghĩa các bước trong quá trình xử lý tự động. Điều này cho phép các nhà phát triển định nghĩa một loạt các công việc mà Bitbucket sẽ thực hiện khi có thay đổi trong mã nguồn. Pipeline cũng cho phép các nhà phát triển định nghĩa các bước riêng lẻ để kiểm tra mã nguồn trước khi được chấp nhận vào kho chứa.

Sử dụng dịch vụ Pipeline của Bitbucket giúp các nhà phát triển tăng tốc độ phát triển phần mềm và giảm thiểu lỗi phát sinh trong quá trình triển khai.

Tại sao phải dùng nó

Bitbucket Pipelines là một dịch vụ liên quan đến DevOps của Bitbucket, cho phép các nhà phát triển phát triển, kiểm tra và triển khai ứng dụng của họ một cách nhanh chóng và dễ dàng. Dưới đây là một số lý do tại sao bạn nên sử dụng Pipelines của Bitbucket:

  1. Tích hợp sẵn: Bitbucket Pipelines được tích hợp sẵn với Bitbucket, do đó, bạn không cần phải cài đặt hoặc cấu hình bất kỳ dịch vụ nào khác để bắt đầu sử dụng.
  2. Dễ sử dụng: Pipelines của Bitbucket được thiết kế để dễ sử dụng, có thể được cấu hình bằng YAML hoặc bằng giao diện người dùng trực quan.
  3. Đa nền tảng: Pipelines của Bitbucket hỗ trợ nhiều nền tảng, bao gồm Java, Node.js, Python, PHP, Ruby và nhiều nền tảng khác.
  4. Thực thi tự động: Pipelines của Bitbucket cho phép bạn thực thi các công đoạn của quy trình phát triển của mình tự động, giúp tiết kiệm thời gian và tăng tính chính xác.
  5. Phân tích kết quả: Bitbucket Pipelines cung cấp các công cụ phân tích kết quả chạy pipeline, giúp bạn dễ dàng phát hiện lỗi và tìm kiếm nguyên nhân gốc rễ của chúng.
  6. Bảo mật: Pipelines của Bitbucket cung cấp các tính năng bảo mật tiên tiến, bao gồm mã hóa dữ liệu và kiểm soát truy cập để bảo vệ dữ liệu và tài nguyên của bạn.

Tóm lại, sử dụng Pipelines của Bitbucket giúp bạn phát triển và triển khai ứng dụng của mình một cách nhanh chóng, dễ dàng và bảo mật.

Tính phí

Bitbucket Pipeline tính phí dựa trên số lượng phút pipeline chạy trong tháng. Bạn sẽ được cung cấp 50 phút chạy miễn phí mỗi tháng để sử dụng trong các pipeline của mình. Nếu bạn muốn sử dụng nhiều hơn 50 phút trong tháng, bạn sẽ phải trả phí theo mô hình tính toán giá cước sau:

  1. $10 USD cho mỗi 1000 phút chạy tiếp theo trong tháng.
  2. Mức giá này được tính tự động dựa trên số lượng phút sử dụng của bạn và sẽ được tính vào cuối tháng.
  3. Nếu bạn không sử dụng hết số phút được cung cấp trong tháng, số phút đó sẽ không được chuyển sang tháng tiếp theo.
  4. Bạn có thể xem số phút đã sử dụng của mình và chi phí tương ứng trong trang cài đặt của Bitbucket.

Lưu ý rằng các tính năng và giá cả của Bitbucket Pipeline có thể thay đổi theo thời gian, vì vậy bạn nên kiểm tra trang web của Bitbucket để biết thông tin chi tiết và cập nhật mới nhất.

Một script cơ bản của project nodejs

#  Template NodeJS build

#  This template allows you to validate your NodeJS code.
#  The workflow allows running tests and code linting on the default branch.

image: node:16

pipelines:
    branches:
        '{master,development}':
            - step:
                  name: Build and Test
                  caches:
                      - node
                  script:
                      - npm install
            #                        - npm test
            - step:
                  name: Code linting
                  script:
                      - npm install eslint
                      - npx eslint ./src
                  caches:
                      - node

Script sau khi test xong thực hiện hành động tiếp theo

image: node:16

pipelines:
    branches:
        '{master,development}':
            - step:
                  name: Build and Test
                  caches:
                      - node
                  script:
                      - curl -X POST https://domain.com/api/l2pushcode
                      - npm install
                      - npm install eslint
                      - npx eslint ./src || (curl -X POST https://domain.com/api/l2pushcode?status=fail && exit 1)

Related Posts