105
L/O/G/O Seminar QUẢN LÝ CẤU HÌNH PHẦN MỀM GVHD: Thầy Lâm Quang Vũ Nhóm thực hiện: Nhóm C 10/27/22 1

Quan ly cau hinh pm

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Quan ly cau hinh pm

L/O/G/O

Seminar

QUẢN LÝ CẤU HÌNH PHẦN MỀMSeminar

QUẢN LÝ CẤU HÌNH PHẦN MỀM

GVHD: Thầy Lâm Quang Vũ

Nhóm thực hiện: Nhóm C

04/09/23 1

Page 2: Quan ly cau hinh pm

L/O/G/O

Nội dung làm việcNội dung làm việc

• Lý thuyết.

• Demo giới thiệu tools

04/09/23 2

Page 3: Quan ly cau hinh pm

Giới thiệuGiới thiệu

Các khái niệm

Các phương pháp quản lý cấu hình

Định nghĩa

04/09/23 3

Page 4: Quan ly cau hinh pm

Định nghĩaĐịnh nghĩa

• Thiết lập và bảo đảm tính toàn vẹn của các sản phẩm trung gian cũng như các sản phẩm sau cùng của một dự án phần mềm, xuyên suốt chu kỳ sống của dự án đó.

• Tổ chức, quản lý các thay đổi đối với phần mềm đang được xây dựng bởi một nhóm lập trình viên.

04/09/23 4

Page 5: Quan ly cau hinh pm

Các khái niệmCác khái niệm

Delivery:

Tập hợp các mẩu cấu hình được bàn giao cho khách hàng hoặc những bộ phận khác (developer, teser…)

Baseline / Milestone:

Mốc thời gian mà tại đó đạt được những kết quả nhất định. Vd:

Duyệt đặc tả yêu cầu.

Software Configuration Item:

Đối tượng được quản lý bởi QLCH

Phát hành bản beta04/09/23 5

Page 6: Quan ly cau hinh pm

Các khái niệm (tt)Các khái niệm (tt)

Repository:

Nơi chứa tất cả các tài nguyên (tập tin) được quản lý.

Working copy:

Bản sao (dùng để làm việc) của tập tin trên repository.

jWorking copy

04/09/23 6

Page 7: Quan ly cau hinh pm

Các khái niệm (tt)Các khái niệm (tt)

Revision

Mỗi thay đổi liên quan đến một tập tin nào đó sẽ tạo ra một revision mới.

r20 r21

+delta

04/09/23 7

Page 8: Quan ly cau hinh pm

Các khái niệm (tt)Các khái niệm (tt)

Check out (update):

Tạo bản copy từ repository về workspace để chỉnh sửa.

04/09/23 8

Page 9: Quan ly cau hinh pm

Các khái niệm (tt)Các khái niệm (tt)

Check in (commit):

Đưa thay đổi của tài liệu từ workspace lên repository.

04/09/23 9

Page 10: Quan ly cau hinh pm

Các khái niệm (tt)Các khái niệm (tt)

Diff (change, delta):

Sự khác nhau giữa 2 phiên bản kề nhau.

04/09/23 10

Page 11: Quan ly cau hinh pm

Các khái niệm (tt)Các khái niệm (tt)

Merge:

Kết hợp thay đổi trên các working copy khác nhau của cùng 1 file, tạo thành 1 bản duy nhất.

04/09/23 11

Page 12: Quan ly cau hinh pm

Các khái niệm (tt)Các khái niệm (tt)

Conflict:

Sự đụng độ xảy ra khi nhiều người cùng chỉnh sửa 1 tài liệu.

04/09/23 12

Page 13: Quan ly cau hinh pm

Các khái niệm (tt)Các khái niệm (tt)

Lock:

“Khoá” tài liệu đang làm việc trên repository để ngăn người khác chỉnh sửa.

Unlock:

“Mở khoá” tài liệu sau khi làm việc xong.

Lock – Modify - Unlock

04/09/23 13

Page 14: Quan ly cau hinh pm

Các khái niệm (tt)Các khái niệm (tt)

Copy – Modify - Merge

X Y

04/09/23 14

Page 15: Quan ly cau hinh pm

Các khái niệm (tt)Các khái niệm (tt)

Copy – Modify - Merge

Conflict

X Y

04/09/23 15

Page 16: Quan ly cau hinh pm

Các khái niệm (tt)Các khái niệm (tt)

Copy – Modify - Merge

MergeX Y

04/09/23 16

Page 17: Quan ly cau hinh pm

Các phương pháp quản lý cấu hình PMCác phương pháp quản lý cấu hình PM

• Thùng chứa tập trung– Local only

– Client – server

• Thùng chứa phân tán (Distributed)

04/09/23 17

Page 18: Quan ly cau hinh pm

Local onlyLocal only

• Phạm vi hẹp.

• Dự án nhỏ.

• Dễ triển khai.

04/09/23 18

Page 19: Quan ly cau hinh pm

Local onlyLocal only

04/09/23 19

Page 20: Quan ly cau hinh pm

Client – serverClient – server

• Quy mô rộng.

• Dự án lớn.

• Chi phí cao.

04/09/23 20

Page 21: Quan ly cau hinh pm

Client – serverClient – server

Bảo đảm đường truyền???

04/09/23 21

Page 22: Quan ly cau hinh pm

DistributedDistributed

• Một thùng chứa chính.

• Mỗi cá nhân có một thùng chứa riêng.

• Giao thức peer – to – peer.

04/09/23 22

Page 23: Quan ly cau hinh pm

DistributedDistributed

peer – to – peer

04/09/23 23

Page 24: Quan ly cau hinh pm

DistributedDistributed

Patch

04/09/23 24

Page 25: Quan ly cau hinh pm

Demo Tools QLCHDemo Tools QLCH

• Team Foundation Server 2008

• SVN

• Quản lý cấu hình miễn phí web hosting services.

• Tích hợp liên tục

04/09/23 25

Page 26: Quan ly cau hinh pm

Team Foundation ServerTFS

Team Foundation ServerTFS

04/09/23 26

Page 27: Quan ly cau hinh pm

Nội dung thuyết trìnhNội dung thuyết trình

1. Giới thiệu:• Chuẩn CMMi và Agile.

2. Kiến trúc.

3. Các khái niệm.

4. Demo.

04/09/23 27

Page 28: Quan ly cau hinh pm

Giới thiệuGiới thiệu

• TFS là hệ thống quản lý vòng đời phần mềm:• Lưu trữ, chia xẻ mã nguôn, tích hợp với công cụ

lập dự án Microsoft Project hoặc Excel.• Hướng dẫn quy trình, tạo báo cáo động và theo

doi đầu công viêc và tiến độ chung của dự án.• Chuyên dùng cho các dự án phát triển phần mềm,

đòi hỏi khắt khe chất lượng, tiến độ, ngân sách.

04/09/23 28

Page 29: Quan ly cau hinh pm

Chuẩn CMMi && AgileChuẩn CMMi && Agile

• CMMi - Capability Maturity Model® Integration:– Đòi hỏi rất nhiều loại văn bản khác nhau, luôn

yêu cầu lập kế hoạch dự án, đào tạo, giám sát liên tục .

• Agile:– Yêu cầu vòng đời phiên bản thật ngắn tính

bằng tuần .

04/09/23 29

Page 30: Quan ly cau hinh pm

Kiến trúcKiến trúc

04/09/23 30

Page 31: Quan ly cau hinh pm

•Tạo và quản lý dự án

• chỉ có các web service.

•Quản lý ứng dụng.

Kiến trúcKiến trúc

Client

• web services .

• Team Project Portal .

• kết hợp dữ liệu và tạo báo cáo.

Application

•cung cấp dịch vụ lưu trữ dữ liệu cho thùng chứa tài liệu.

• SQL Server + Window Server 2003Data

04/09/23 31

Page 32: Quan ly cau hinh pm

Các khái niệmCác khái niệm

• WorkItems:

• Team Building.

• Bug.

• Report

04/09/23 32

Page 33: Quan ly cau hinh pm

DemoDemo

• Connect 2TFS.

• Create new Team Project.

• Add project to TFS.

• Convert VSS to TFS

04/09/23 33

Page 34: Quan ly cau hinh pm

Giảng viên hướng dẫn: Thầy Lâm Quang VũNhóm thực hiện: C6 – Haughty Guys

Giảng viên hướng dẫn: Thầy Lâm Quang VũNhóm thực hiện: C6 – Haughty Guys

04/09/23 34

Page 35: Quan ly cau hinh pm

Nội dung:Nội dung:

• Giới thiệu

• Tính năng

• Kiến trúc

• Cài đặt

• Demo

04/09/23 35

Page 36: Quan ly cau hinh pm

Giới thiệuGiới thiệu

• Subversion(SVN) là một hệ thống quản lý version (version control system - VCS) được giới thiệu vào năm 2000 bởi công ty CollabNet (http://subversion.tigris.org).

• Về mặt khái quát, SVN giống như một hệ thống file server mà các client có thể quản lý và thay đổi cùng một tập hợp dữ liệu. Điểm đặc biệt của SVN là nó lưu lại tất cả những gì thay đổi trên hệ thống file.04/09/23 36

Page 37: Quan ly cau hinh pm

Tính năngTính năng• Directories are versioned• Copying, deleting, and renaming are versioned• Free-form versioned metadata ("properties")• Atomic commits• Branching and tagging are cheap (constant

time) operations• Merge tracking• File locking• …

04/09/23 37

Page 38: Quan ly cau hinh pm

Kiến trúcKiến trúc

04/09/23 38

Page 39: Quan ly cau hinh pm

Kiến trúcKiến trúc

• Subversion dựa trên mô hình quản lý tập trung kiểu client/server.

• Hai khái niệm cơ bản: Repository và Working Copies

04/09/23 39

Page 40: Quan ly cau hinh pm

Kiến trúcKiến trúc

• Cách thức quản lý phiên bản

04/09/23 40

Page 41: Quan ly cau hinh pm

Cài đặtCài đặt• Môi trường cài đặt: Microsoft Windows

(Windows XP SP2, Windows Server 2003, Standard Edition)

• CollabNet Subversion Server and Client v1.6.1 (for Windows): http://www.open.collab.net/downloads/subversion

• Tortoise SVN (GNU General Public License): http://tortoisesvn.net/downloads

04/09/23 41

Page 42: Quan ly cau hinh pm

DemoDemo

04/09/23 42

Page 43: Quan ly cau hinh pm

Tham khảoTham khảo

• http://subversion.tigris.org

• http://svnbook.red-bean.com/

04/09/23 43

Page 44: Quan ly cau hinh pm

Các giải pháp quản lý cấu hình miễn phí trên mạng

04/09/23 44

Page 45: Quan ly cau hinh pm

Giới thiệu1

Assembla3

Tồng kết4

Nội DungNội Dung

04/09/23 45

Page 46: Quan ly cau hinh pm

Giới ThiệuGiới Thiệu

Biện pháp quản lý cấu hình trên mạng là gì? Website cung cấp dịch vụ project-hosting

Ưu điểm Bỏ qua giới hạn địa lý Tiện dụng Miễn phí Tiết kiệm tài nguyên

Nhược điểm Tốc độ chậm Dung lượng lưu trữ hạn chế

04/09/23 46

Page 47: Quan ly cau hinh pm

Danh sách websiteDanh sách website

Google Code

Assembla.com

Bounty Source

Source Forge

Collab.net

….04/09/23 47

Page 48: Quan ly cau hinh pm

Giới thiệu1

04/09/23 48

Page 49: Quan ly cau hinh pm

Tổng quan Tổng quan

Google Code là gì? Cung cấp dịch vụ project-hosting. Miễn phí 100%. Nhằm hỗ trợ cho các dự án mã nguôn mở.

FAQ: http://code.google.com/p/support/wiki/FAQ

04/09/23 49

Page 50: Quan ly cau hinh pm

Tạo project mới Tạo project mới

URL: http://code.google.com/hosting/

04/09/23 50

Page 51: Quan ly cau hinh pm

Tạo project mới Tạo project mới

04/09/23 51

Page 52: Quan ly cau hinh pm

Thành phần Thành phần

Project Home: giới thiệu về dự án, các cập nhật gần đây Downloads: nơi public các tài nguyên, source code, sản phẩm cuối (2Gb) Wiki: 1 trang wikimedia thu nhỏ Issues: hệ thống quản lý các bug Source: quản lý cấu hình source code Administer: dành riêng cho owner của project

04/09/23 52

Page 53: Quan ly cau hinh pm

Source Source

- Dung lượng: 1Gb- Sử dụng kèm với tool ở client: TortoiseSVN, …- Cần có tài khoản và mật khẩu

04/09/23 53

Page 54: Quan ly cau hinh pm

Source Source

04/09/23 54

Page 55: Quan ly cau hinh pm

Thêm thành viênThêm thành viên

04/09/23 55

Page 56: Quan ly cau hinh pm

Tổng kết Tổng kết

Ưu điểm Miễn phí hoàn toàn Dung lượng lưu trữ cao Dễ sử dụng Dễ đăng ký Thuận tiện phát triển các dự án vừa và nhỏ

Nhược điểm Chỉ chấp nhận gmail Khả năng tùy biến thấp 1 Gmail chỉ tạo được 10 project

04/09/23 56

Page 57: Quan ly cau hinh pm

Giới thiệu1

Assembla3

04/09/23 57

Page 58: Quan ly cau hinh pm

Tổng quan Tổng quan

Do nhóm của Andy Singleton phát triển

Cung cấp dịch vụ project-hosting Miễn phí: public and open source projects Thu phí: private and professional projects

Các add-on tools miễn phí 100%

Add/remove tools không giới hạn

Thu phí dung lượng lưu trữ04/09/23 58

Page 59: Quan ly cau hinh pm

Tạo workspace Tạo workspace

URL: http://www.assembla.com

B1: đăng ký tài khoản

B2: vào start page

B3: Chọn create new space

B4: Chọn mẫu workspace

B5: Chọn plan

B6: Tùy biến workspace

04/09/23 59

Page 60: Quan ly cau hinh pm

Tùy biến workspace Tùy biến workspace

Chức năng cần thiếtTeam: thêm, xóa, phân quyền cho thành viên

Admin: tùy biến workspace, backup, upgrade…

Chức năng tùy chọn: 24 chức năng

Source/SVN Wiki Scrum

Message Chat File

Image Milestones Tickets

Time Subverion&Trac Mercurial&Trac

… … …

04/09/23 60

Page 61: Quan ly cau hinh pm

Source/SVN Source/SVN

Xài kèm TortoiseSVN

04/09/23 61

Page 62: Quan ly cau hinh pm

Thêm thành viên Thêm thành viên

Mời thành viên Tên đăng nhập Email đăng ký Từ các team khác

Phân quyền

04/09/23 62

Page 63: Quan ly cau hinh pm

Featured Space Configurations Featured Space Configurations

Định nghĩa: Là những mẫu workspace có sẵn

Tổng số mẫu workspace: 12 Subversion Hosting with Integrated Tickets: thông dụng nhất Trac and Subversion Hosting Team Collaboration Branded Portfolios - Project management with your own identity Graphic Designers Assembla Ticketing for Github

04/09/23 63

Page 64: Quan ly cau hinh pm

Tổng kết Tổng kết

Ưu điểm Miễn phí Dễ sử dụng Khả năng tùy biến cao Cho phép sử dụng các host bên ngoài kết hợp với assembla Có nhiều mẫu workspace Không giới hạn số workspace

Nhược điểm Dung lượng lưu trữ thấp: 200Mb/Workspace

04/09/23 64

Page 65: Quan ly cau hinh pm

Giới thiệu1

Assembla3

Tồng kết4

04/09/23 65

Page 66: Quan ly cau hinh pm

Tổng kếtTổng kết

Miễn phí tội gì không xài! Google Code

Tốt cho dự án vừa và nhỏ. Thiên về quản lý cấu hình.

Assembla Tốt cho dự án nhỏ (miễn phí) Phục vụ nhiều mục đích khác trong dự án. Tốt cho mọi loại dự án: nhỏ, vừa, lớn nếu có tiền

04/09/23 66

Page 67: Quan ly cau hinh pm

04/09/23 67

Page 68: Quan ly cau hinh pm

I. Continuous IntegrationI. Continuous Integration

II. CruiseControl.NETII. CruiseControl.NET

III. CruiseControl.NET Integration ProcessIII. CruiseControl.NET Integration Process

IV. Tools - Configuration ExampleIV. Tools - Configuration Example

V. DemoV. Demo

VI. Advantages and DisadvantagesVI. Advantages and Disadvantages04/09/23 68

Page 69: Quan ly cau hinh pm

I. Continuous Integration

II. CruiseControl.NETII. CruiseControl.NET

III. CruiseControl.NET Integration ProcessIII. CruiseControl.NET Integration Process

IV. Tools - Configuration ExampleIV. Tools - Configuration Example

V. DemoV. Demo

VI. Advantages and DisadvantagesVI. Advantages and Disadvantages04/09/23 69

Page 70: Quan ly cau hinh pm

Continuous integration is the strategy of making sure that changes to the project’s code base are built, tested and reported on as soon as possible after they are introduced.

04/09/23 70

Page 71: Quan ly cau hinh pm

Traditionally, different modules are developed by different programmers

Divide work to allow parallel development Integrate modules at late state of project Integration problems can easily knock project off

schedule… or cause it to fail altogether Parallel commits can cause semantic

incompatibilities The earlier you can detect problems, the easier it

is to resolve them04/09/23 71

Page 72: Quan ly cau hinh pm

Shorten the feedback loopAutomatic compilationAutomatic testingImprove reporting

04/09/23 72

Page 73: Quan ly cau hinh pm

Solution: continually integrate and test throughout the project

04/09/23 73

Page 74: Quan ly cau hinh pm

Developers check out code into their private workspaces

04/09/23 74

Page 75: Quan ly cau hinh pm

When done, they commit changes to the repository

04/09/23 75

Page 76: Quan ly cau hinh pm

The CI server monitors the repository and checks out changes when they occur

04/09/23 76

Page 77: Quan ly cau hinh pm

The CI server builds the system and runs unit and integration tests

04/09/23 77

Page 78: Quan ly cau hinh pm

The CI server releases deployable artefacts for QA testing

04/09/23 78

Page 79: Quan ly cau hinh pm

The CI server assigns a build label to the version of the code that it just built

04/09/23 79

Page 80: Quan ly cau hinh pm

The CI server informs the team of the successful build and generates useful metrics

04/09/23 80

Page 81: Quan ly cau hinh pm

If the build or tests fail, the CI server alerts the team

04/09/23 81

Page 82: Quan ly cau hinh pm

Continually integrate and test throughout the project

04/09/23 82

Page 83: Quan ly cau hinh pm

I. Continuous IntegrationI. Continuous Integration

II. CruiseControl.NET

III. CruiseControl.NET Integration ProcessIII. CruiseControl.NET Integration Process

IV. Tools - Configuration ExampleIV. Tools - Configuration Example

V. DemoV. Demo

VI. Advantages and DisadvantagesVI. Advantages and Disadvantages04/09/23 83

Page 84: Quan ly cau hinh pm

CruiseControl.NET (CCNet) consists of a suite of applications, but at its core is the CruiseControl.NET Server which is an automated integration server.

The Server automates the integration process by monitoring the team's source control repository directly. Every time a developer commits a new set of modifications, the server will automatically launch an integration build to validate the changes. When the build is complete, the server notifies the developer whether the changes that they committed integrated successfully or not.

04/09/23 84

Page 85: Quan ly cau hinh pm

• The CCNet Server offers several key features: Integration with a variety of Source Control systems Integration with other external tools, such as NAnt and Visual

StudioCan build multiple projects on one serverRemote management and reporting

04/09/23 85

Page 86: Quan ly cau hinh pm

I. Continuous IntegrationI. Continuous Integration

II. CruiseControl.NETII. CruiseControl.NET

III. CruiseControl.NET Integration Process

IV. Tools - Configuration ExampleIV. Tools - Configuration Example

V. DemoV. Demo

VI. Advantages and DisadvantagesVI. Advantages and Disadvantages04/09/23 86

Page 87: Quan ly cau hinh pm

04/09/23 87

Page 88: Quan ly cau hinh pm

04/09/23 88

Page 89: Quan ly cau hinh pm

04/09/23 89

Page 90: Quan ly cau hinh pm

I. Continuous IntegrationI. Continuous Integration

II. CruiseControl.NETII. CruiseControl.NET

III. CruiseControl.NET Integration ProcessIII. CruiseControl.NET Integration Process

IV. Tools - Configuration Example

V. DemoV. Demo

VI. Advantages and DisadvantagesVI. Advantages and Disadvantages04/09/23 90

Page 91: Quan ly cau hinh pm

• Source Control:– CVS Source Control– Perforce Source Control– Visual Source Safe Source Control

• Build tools– MsBuild– NAnt– Visual Studio

04/09/23 91

Page 92: Quan ly cau hinh pm

• Để cấu hình cho CC.Net ta tiến hành theo các bước: Open file ccnet.Config trong thư mục:

C:\Program Files\CruiseControl.NET\server

Thêm các task cấu hình cho ccnet.04/09/23 92

Page 93: Quan ly cau hinh pm

04/09/23 93

Page 94: Quan ly cau hinh pm

The project in the repository to be monitored.The project in the repository to be monitored.

VSS user ID that CCNet should use to authenticate. If the username is unspecified, the VSS client will attempt to authenticate

using the NT user.

VSS user ID that CCNet should use to authenticate. If the username is unspecified, the VSS client will attempt to authenticate

using the NT user.Password for the VSS user IDPassword for the VSS user ID

The directory containing SRCSAFE.INI. If this SSDIR environment variable is already

set then this property may be omitted.

The directory containing SRCSAFE.INI. If this SSDIR environment variable is already

set then this property may be omitted. Specifies whether the current CCNet label

should be applied to all source files under the current project in VSS. Note: the specified

VSS username must have write access to the repository.

Specifies whether the current CCNet label should be applied to all source files under the

current project in VSS. Note: the specified VSS username must have write access to the

repository.

Specifies whether the current version of the source should be retrieved from VSS

Specifies whether the current version of the source should be retrieved from VSS Specifies whether the most recent version of

the source should be retrieved from VSS. If not, CCNet will obtain the source as of the

time the build began.

Specifies whether the most recent version of the source should be retrieved from VSS. If not, CCNet will obtain the source as of the

time the build began.

The folder into which the source should be retrived from VSS. If this folder does not

exist, it will be automatically created

The folder into which the source should be retrived from VSS. If this folder does not

exist, it will be automatically createdThe culture under which VSS is runningThe culture under which VSS is running

Controls whether or not VSS gets a clean copy (overwrites modified files) when getting

the latest source.

Controls whether or not VSS gets a clean copy (overwrites modified files) when getting

the latest source.

Sets the timeout period for the source control operation

Sets the timeout period for the source control operation

04/09/23 94

Page 95: Quan ly cau hinh pm

04/09/23 95

Page 96: Quan ly cau hinh pm

04/09/23 96

Page 97: Quan ly cau hinh pm

The location of the MSBuild.exe executable.The location of the MSBuild.exe executable.The directory to run MSBuild in - this is generally the directory containing your build

project.

The directory to run MSBuild in - this is generally the directory containing your build

project.The name of the build project to run.The name of the build project to run.Any extra arguments to pass through to MSBuild.

Any extra arguments to pass through to MSBuild.A semicolon-separated list of the targets to

run.A semicolon-separated list of the targets to

run.Number of seconds to wait before assuming

that the process has hung and should be killed.

Number of seconds to wait before assuming that the process has hung and should be

killed.The full path to the assembly containing the

custom logger to use.The full path to the assembly containing the

custom logger to use.04/09/23 97

Page 98: Quan ly cau hinh pm

BUILD – VISUAL STUDIOBUILD – VISUAL STUDIO

04/09/23 98

Page 99: Quan ly cau hinh pm

BUILD - NANTBUILD - NANT

04/09/23 99

Page 100: Quan ly cau hinh pm

I. Continuous IntegrationI. Continuous Integration

II. CruiseControl.NETII. CruiseControl.NET

III. CruiseControl.NET Integration ProcessIII. CruiseControl.NET Integration Process

IV. Tools - Configuration ExampleIV. Tools - Configuration Example

V. Demo

VI. Advantages and DisadvantagesVI. Advantages and Disadvantages04/09/23 100

Page 101: Quan ly cau hinh pm

I. Continuous IntegrationI. Continuous Integration

II. CruiseControl.NETII. CruiseControl.NET

III. CruiseControl.NET Integration ProcessIII. CruiseControl.NET Integration Process

IV. Tools - Configuration ExampleIV. Tools - Configuration Example

V. DemoV. Demo

VI. Advantages and Disadvantages04/09/23 101

Page 102: Quan ly cau hinh pm

– You catch build breaks early on. – In a distributed development environment where

developers do not always communicate with one another, continuous integration is a great way to assure the developer that the build he or she is building is the latest one.

– Continuous integration also causes less regression– The feedback loop is smaller.

04/09/23 102

Page 103: Quan ly cau hinh pm

– A developer does not have to wait for the end of the day or week to find out how the check-in affected the build.

– Integration testing moves up in the chain. – Every check-in goes through the integration testing

where problems are caught early.– Continuous integration enforces better development

processes.– Each developer is held accountable.– You always have a latest-and-greatest build to use

in demos, showcases, etc. 04/09/23 103

Page 104: Quan ly cau hinh pm

– Maintenance overhead often increases.

– Some teams find that the level of discipline required for continuous integration causes bottlenecks. This often requires a shift in the developer mindset.

– The immediate impact of a check-in often causes a backup because programmers cannot check in partially completed code.

04/09/23 104

Page 105: Quan ly cau hinh pm

L/O/G/O

Thank You!Thank You!

04/09/23 105