• Blog
  • Free Tests
  • Courses
    • MTHi Bootcamp
    • MTHi VirtualCamp
    • MTHi Agile Classic
    • MTHi AgileCamp
    • MTHi Project Management
    • Simulation Tests
  • Enroll
  • Gallery
  • Contact
  • Company
    • RegisterLogin
MTHi Management TrainingMTHi Management Training
  • Blog
  • Free Tests
  • Courses
    • MTHi Bootcamp
    • MTHi VirtualCamp
    • MTHi Agile Classic
    • MTHi AgileCamp
    • MTHi Project Management
    • Simulation Tests
  • Enroll
  • Gallery
  • Contact
  • Company
    • RegisterLogin

Agile n Scrum

  • Home
  • Blog
  • Agile n Scrum
  • Continuous Integration

Continuous Integration

  • Categories Agile n Scrum
  • Date 06/03/2020

Continuous Integration

Continuous integration là một thông lệ được các nhà phát triển phần mềm sử dụng để thường xuyên kết hợp mã mới và thay đổi vào kho lưu trữ mã [code repository] dự án của họ. Điều này giúp giảm thiểu các vấn đề tích hợp do nhiều người thực hiện các thay đổi không tương thích với cùng một cơ sở mã. Thông thường nếu chúng ta thực hiện các check in mã càng thường xuyên, số lượng mã cần thay đổi càng nhỏ để cho phép bản dựng [builds] (hoặc phiên bản version) mới của phần mềm biên dịch thành công. Vì vậy, Continuous integration là một trong những công cụ chúng ta có thể sử dụng để tìm và giải quyết các vấn đề càng sớm càng tốt.

Continuous integration sử dụng các công cụ tự động để tự động bắt đầu quá trình tích hợp bất cứ khi nào mã mới được kiểm tra hoặc theo các khoảng thời gian. Ngoài việc kiểm tra xem có bất kỳ mã mới và thay đổi nào biên dịch chính xác hay không, team sẽ sử dụng các unit test tự động để đảm bảo hệ thống vẫn hoạt động như dự định sau khi mã mới được tích hợp.

Hãy cùng xem xét kỹ hơn các thành phần của một hệ thống Continuous integration.

Hệ thống kiểm soát mã nguồn [Source code control system]: Đây là phần mềm thực hiện kiểm soát phiên bản trên tất cả các tệp đại diện cho sản phẩm đang được phát triển

Công cụ build [Build tools, Compile tools]: Mã nguồn cần được biên dịch trước khi chạy thử nghiệm. Hầu hết các môi trường phát triển tích hợp (IDE) đóng vai trò là công cụ xây dựng để biên dịch mã.

Công cụ kiểm thử [Test tools]: Là một phần của quy trình xây dựng, các unit test được chạy để đảm bảo rằng các chức năng cơ bản hoạt động theo kế hoạch. Các công cụ unit test thực hiện các kiểm tra nhỏ, atomic test, được viết trong các công cụ này để kiểm tra mã nguồn tránh được các thay đổi ngoài dự kiến trong hành vi.

Trình lập lịch biểu hoặc trình kích hoạt [Scheduler, Trigger]: Các bản dựng [builds] có thể được khởi chạy theo lịch biểu thông thường (chẳng hạn như mỗi giờ) hoặc mỗi khi code được check in, tức là khi hệ thống phát hiện thay đổi mã nguồn.

Thông báo [Notifications]: Nếu một bản dựng bị lỗi, team cần được thông báo để họ có thể sửa bản dựng càng sớm càng tốt. Các thông báo này có thể được gửi qua e-mail hoặc tin nhắn tức thời.

Mặc dù Continuous integration là một thực hành phát triển phần mềm, nhưng cùng một khái niệm này có thể được áp dụng cho các dự án công việc tri thức khác, nơi mà nhiều người đang phát triển các phần riêng biệt của dự án và sau đó kết hợp các phần của họ lại với nhau để tạo ra một sản phẩm có giá trị.

Ưu và nhược điểm của Continuous Integration

Continuous integration rất quan trọng đối với các dự án agile vì nó cung cấp các lợi ích sau:

  • Team nhận được cảnh báo sớm về mã bị hỏng, xung đột hoặc không tương thích.
  • Các vấn đề tích hợp được khắc phục sớm khi chúng mới xảy ra, thay vì đợi đến gần ngày phát hành. Điều này làm giảm đáng kể chi phí thay đổi và tránh được công việc phát sinh vào phút cuối trước khi phát hành.
  • Team nhận được phản hồi ngay lập tức về các tác động trên toàn hệ thống của mã họ đang viết.
  • Thực hành này đảm bảo chạy các unit test để kiểm tra mã thường xuyên, cảnh báo team về các vấn đề sớm không để muộn quá. Nếu một lỗi được tìm thấy, mã có thể được hoàn nguyên về trạng thái không có lỗi trước đó phục vụ cho mục đích thử nghiệm, demo hoặc phát hành.

Những nhược điểm hoặc chi phí phát sinh của việc sử dụng Continuous integration là:

  • Thời gian thiết lập cần thiết để thiết lập máy chủ xây dựng và định cấu hình phần mềm Continuous integration; điều này thường được thực hiện trong Iteration 0 (trước khi công việc phát triển bắt đầu vào dự án).
  • Chi phí mua một máy để hoạt động như một máy chủ xây dựng, vì đây thường là một máy chuyên dụng.
  • Thời gian cần thiết để xây dựng một bộ kiểm thử toàn diện để tự động chạy bất cứ khi nào mã được check in.

Mặc dù có thêm chi phí, Continuous integration được thiết lập như một best practice tiêu chuẩn cho các dự án phát triển phần mềm và hầu hết các team agile sử dụng phương pháp này. Lợi ích của công nghệ này so với các thực hành cũ hơn, chẳng hạn như “thử nghiệm các bản build và làm smoke test hàng ngày” là rất đáng kể. Với Continuous integration, nhiều phép test được thực hiện mỗi ngày và thời gian phát hiện một vấn đề phát sinh sẽ nhanh hơn. Thực hành này là một ví dụ điển hình về cách các team agile có thể rút ngắn thời gian giữa khi xảy ra lỗi, phát hiện lỗi và giải quyết lỗi.

Theo Mike Griffiths

PMI-ACP Exam Prep

Mời bạn đọc blog liên quan cùng chủ đề ở link sau đây:

  • Kế hoạch release và iteration trong Agile
  • Iteration planning
  • #ProjectManagement
  • #PMP
  • #MTHi Bootcamp for PMP exam
  • #HoChiMinh
  • #QuanLyDuAn
  • #TemplatesForProjectManagement
  • #QuiTrinhLapKeHoachQuanLyDuAn

Mời các bạn tham gia các khóa luyện thi chất lượng cao với học phí ưu đãi lớn!

MTHi Bootcamp for PMP Exam Read More
author-avatar
Ngo Nhat Thi

MTHi Bootcamp for PMP Exam

author-avatar
Ngo Nhat Thi
48
students
12 900 000 ₫ 8 000 000 ₫
12 900 000 ₫ 8 000 000 ₫
Read More
MTHi Agile Classic for PMI-ACP Read More
author-avatar
Ngo Nhat Thi

MTHi Agile Classic for PMI-ACP

author-avatar
Ngo Nhat Thi
45
students
11 000 000 ₫ 9 800 000 ₫
11 000 000 ₫ 9 800 000 ₫
Read More
MTHi AgileCamp for PMI-ACP Read More
author-avatar
Ngo Nhat Thi

MTHi AgileCamp for PMI-ACP

author-avatar
Ngo Nhat Thi
40
students
4 800 000 ₫
4 800 000 ₫
Read More
MTHi VirtualCamp for PMP Read More
author-avatar
Ngo Nhat Thi

MTHi VirtualCamp for PMP

author-avatar
Ngo Nhat Thi
31
students
4 800 000 ₫
4 800 000 ₫
Read More
Admin bar avatar
Ngo Nhat Thi
PMP, PMI-ACP. 8-year professional project management & consultancy in the industries of banking, finance and IT. Professional trainer/coach for both traditional and Agile project management methodologies. 20-year+ experience in IT service management and operation. Matured-level skills of setup & implementation of ITIL-based IT management processes.

Previous post

Khi nào nên ứng dụng Agile? (2)
06/03/2020

Next post

Scrum Framework
25/03/2020

Bình Luận Cancel reply

Your email address will not be published. Required fields are marked *

Categories

  • Free Simulation Tests
  • PMI-ACP Exam Preparation
  • PMP Exam Preparation
  • Project Management

Latest Courses

MTHi Agile Classic for PMI-ACP

MTHi Agile Classic for PMI-ACP

11 000 000 ₫ 9 800 000 ₫
MTHi AgileCamp for PMI-ACP

MTHi AgileCamp for PMI-ACP

4 800 000 ₫
MTHi VirtualCamp for PMP

MTHi VirtualCamp for PMP

4 800 000 ₫
MTHi Resources – Luyện thi PMP Exam

MTHi Resources – Luyện thi PMP Exam

Free
12 PMP Exam Simulation Tests

12 PMP Exam Simulation Tests

250 000 ₫
MTHi Project Management

MTHi Project Management

6 900 000 ₫
20190505-MTHi Logo to G Suite-MTHi
Rising to the Vietnam Leading Provider of Project Management Education
0904 509494
mthi@mthi.vn
Facebook

 

MTHi Management Training LLC
480 Nguyễn Thị Minh Khai, Q. 3, Tp Hồ Chí Minh
2019-2021 © All rights reserved
PMI®, PMP®, PMBOK®, PMBOK® Guide and PMI-ACP® are trademarks owned by Project Management Institute, Inc., USA

Login with your site account

Lost your password?

Not a member yet? Register now

Register a new account

Are you a member? Login now