Bamboo Atlassian dưới góc nhìn của một Tester

Mô hình phát triển phần mềm theo hướng linh hoạt (Agile) ngày càng phổ biến. Để đáp ứng mục tiêu đưa sản phẩm tới tay người dùng sớm nhất có thể của Agile thì việc xây dựng một sản phẩm tốt ngay từ ban đầu càng được chú trọng, đòi hỏi sự cộng tác, tương hỗ lẫn nhau từ 2 phía develop và test.
Vậy, làm thế nào có thể tích hợp giữa phía phát triển và kiểm thử? – Để thực hiện được điều đó cần có một công cụ hỗ trợ xây dựng nên hệ thống tích hợp liên tục giữa hai phía. Một trong những công cụ hỗ trợ đang dần trở nên phổ biến là “Bamboo Atlassian”.
Hôm nay, dưới view của một Tester chúng ta sẽ tìm hiểu tổng quan về công cụ “Bamboo Atlassian” và apply vào automation testing như thế nào nhé!

Đầu tiên là khái niệm cơ bản về CI (Continous Intergartion)

CI (Continous Intergration) – tích hợp liên tục: là một quy trình/ phương pháp phát triển phần mềm mà trong đó bất kỳ khi nào có code mới đẩy lên repository thì toàn bộ hệ thống sẽ phản ứng tức thì, nhằm nhận định nhanh chóng commit mới đó có ảnh hưởng như thế nào (bằng việc thực hiện build, unit tests, intergrations test hoặc trigger…)

Các bạn có thể tham khảo mô hình CI dưới đây:


Lợi ích của CI – tích hợp liên tục là:

  • Đảm bảo những thay đổi mới được đẩy lên sẽ được tích hợp với code hiện tại thuận lợi
  • Development team nhận được phản hồi sớm về các lỗi xảy ra khi tích hợp giữa phần code mới và code hiện tại
  • Tiếp theo là phần khái quát về Bamboo theo các item lớn sau:

  • 1. Các khái niệm cơ bản trong Bamboo
  • 1.1. Bamboo là gì?
  • 1.2. Server, Bamboo agent
  • 1.3. Executable agent
  • 1.4. Cấu trúc của Bamboo
  • 2. Flow apply Bamboo trong Testing
  • Sau đây là chúng ta sẽ đi vào chi tiết:

    1. Các khái niệm cơ bản trong Bamboo

    1.1. Bamboo là gì?

    Bamboo là một máy chủ(Server) continuous integration (CI) and continuous delivery (CD), được sử dụng để tự động các tác vụ quản lý release cho các ứng dụng phần mềm

    1.2. Cấu trúc của Bamboo

    Cấu trúc cơ bản của Bamboo được thể hiện rất rõ ở sơ đồ dưới đây:

    Bamboo sử dụng 5 khái niệm cơ bản để cấu hình như sau:

    Project
  • Một project có thể có một hoặc nhiều plan
  • Cung cấp báo cáo của tất cả các plan trong project ở wallboard
  • Cung cấp link liên kết đến các ứng dụng khác
  • Plan
  • Một plan có thể có một hoặc nhiều Stage
  • Processes một hoặc nhiều Stage (tuần tự) thông qua 1 repository chung
  • Specifies repository mặc định
  • Specifies triggered được build như thế nào? triggering dependencies giữa các plan trong các project
  • Specifies notifications kết quả build
  • Specifies permission xem và cấu hình plan, jobs
  • Cung cấp các định nghĩa về variable
  • Stage
  • Stage bao gồm một hoặc nhiều job
  • Processes các job trong stage chạy parallel trên multiple agents
  • Tất cả các job của stage 1 thành công thì stage 2 trong plan mới có thể tiếp tục thực hiện
  • Có thể tạo ra artifacts để sử dụng cho các stage tiếp theo
  • Job
  • Process một hoặc nhiều tast tuần tự trên cùng 1 agent
  • Control thứ tự các task được thực hiện
  • Collect requirement của các task trong job, vì vậy mà các requirement này có thể kết hợp với các agent capabilities
  • Defines artifacts mà các bản build sẽ tạo ra
  • Có thể chỉ sử dụng các artifacts đã được tạo ra trong stage trước
  • Chỉ định labels có build result hoặc build artifacts sẽ được gắn thẻ
  • Task
  • Là một đơn vị nhỏ, rời rạc của từng công việc (Ex: fetch code từ repository, chạy ssh truy cập database, run maven…)
  • Được chạy tuần tự trên job trên Bamboo working directory
  • 1.3. Bamboo Server, Bamboo agent

  • Bamboo server: Là một server để cài đặt Bamboo
  • Bamboo agent:
  • Là một service có thể thực thi các job build
  • Có 2 loại Bamboo Agent chính:
  • Local agents: Chạy như một phần của máy chủ Bamboo (Ex: Agent đặt cùng trên máy cài đặt Bamboo)
  • Remote agents: Chạy từ một máy tính khác không phải máy chủ Bamboo. Việc thực thi này sử dụng tool remote agent
  • 1.4. Capabilities and Dedicate agent

    Hai khái niêm Capabilities và Dedicate Agent và mối liên quan với Bamboo server thể hiện rất rõ ở hình dưới đây:

    2. Flow apply Bamboo trong Testing

    Trong quá trình tìm hiểu và học về Bamboo và chia sẻ về “Bamboo Atlassian dưới góc nhìn của một Tester”, xin gửi lời cảm ơn chân thành và sâu sắc đến chị tóc ngắn dễ thương đã chỉ bảo, giúp đỡ em. Phần tìm hiểu và bài viết còn nhiều thiếu sót, mong được sự góp ý, bổ sung từ các bạn để kiến thức của tôi càng hoàn thiện và phong phú hơn. Trân trọng!
    Reference:

  • Internet(st)
  • https://confluence.atlassian.com/bamboo/getting-started-with-bamboo-289277283.html
  • Add a Comment

    Scroll Up