Upload
thaovn2
View
103
Download
3
Embed Size (px)
Citation preview
TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN TP.HCM
KHOA HỆ THỐNG THÔNG TIN
NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
QUẢN LÝ SOURCE CODE VỚI
TEAM FOUNDATION SEVER VÀ CODEPLEX
Thực hiện: Nguyễn Hồ Trọng Thảo - 10520140
Võ Long Triều – 10520508
Võ Minh Sơn - 10520101
Thành Phố Hồ Chí Minh, tháng 11 năm 2012
MỤC LỤC
Tại sao phải quản lý Source Code ……………………………………………..……….…… 1
I. Tổng quan, nền tảng ứng dụng ……………………………………………………………. 2
1. ALM là gì? ………………………………………………………………………………………….. 2
2. Visual Studio Team Foundation Sever (VSTFS) ……………………………...….… 3
3. Team Explorer …………………………………………………………………………………... 4
4. Codeplex …………………………………………………………………………………………… 4
II. Quản lý Source code với Team Foundation Sever và Codeplex ………… 4
1. Sử dụng Codeplex ……………………………………………………………………………… 4
1.1 – Tạo Project ………………………………………………………………………………... 4
1.2 – Một số chức năng chính ……………………………………………………………... 6
a. Tùy chỉnh trang chủ …………………………………………………………………… 6
b. Quản lý Sourcode trực tuyến …………………………………………………………. 6
c. Quản lý nhân sự dự án …………………………………………………………………... 7
2. Sử dụng Team Explorer để quản lý Sourcode ……………………………………... 8
2.1 – Kết nối tới Team Foundation Sever ……………………………………………. 8
2.2 – Các thao tác quản lý Source Code trên Team Explorer ………………... 10
a. Thêm Source Code ……………………………………………………………………. 10
b. Cập nhật toàn bộ Source code lên sever …………………………………… 12
c. Cập nhật toàn bộ Project mới nhất từ Sever …………………………….. 13
d. Thao tác chuẩn bị trước khi chỉnh sửa code ……………………………. 14
e. Cập nhật những thay đổi lên Sever …………………………………………... 15
f. Đưa items mới get về vào Solution Explorer……………………………... 17
g. Sử dụng Shelve Pending Changes
để cập nhật Source Code lên server………………………………………….... 18
h. Xem lịch sử thay đổi ………………………………………………………………… 19
i. Quay lui (hủy bỏ) thao tác đã thay đổi trước đó ………………………... 20
j. So sánh Source Code trước khi Get về Local Folder ……………………. 21
k. Giải quyết xung đột khi Checkin ……………………………………………...... 24
l. Phân nhánh, kết hợp các phiên bản …………………………………………. 26
Tài liệu tham khảo ………………………………………………………………………………... 27
1
Tại sao phải Quản lý Source code?
Trong các dự án lập trình, việc quản lý Source Code (Mã nguồn) rất quan trọng, quản
lý source code tốt giúp cho các thành viên của dự án có thể cộng tác với nhau một
cách thuận lợi nhất.
Thao tác quản lý giúp cho source code luôn được lưu trữ tại một nơi duy nhất đồng
thời các sự kiện thêm mới, chỉnh sửa sẽ được quản lý thông suốt, chính xác, tránh
việc trùng lặp hay xung đột về thông tin.
2
I. Tổng quan, nền tảng ứng dụng.
1. ALM là gì?
- ALM (Application LifeRecycle Management): Quản trị vòng đời ứng dụng,
ALM mô tả các phương pháp quản trị của quá trình phát triển phần mềm.
Các thành phần trong giải pháp ALM của Microsoft
Hiểu một cách đơn giản ALM là nghiệp vụ quản trị trong công nghệ phần mềm, sử
dụng các công cụ để hỗ trợ và tích hợp các hoạt động quản trị, xây dựng kiến trúc,
viết mã, kiểm thử, theo dõi (tracking), phát hành (release) phần mềm.
- Visual Studio Team Foundation Sever chính là nền tảng hợp tác cốt lõi của giải
pháp AML.
3
2. Visual Studio Team Foundation Sever (VSTFS)
Phiên bản VSTFS đầu tiên vào năm 2005, đã trải qua các phiên bản 2008,
2010, 2012.
Với Team Foundation Sever (TFS), người dùng các phiên bản của Visual
Studio khác nhau trong các vai trò khác nhau từ các nhà kiến trúc phần mềm,
lập trình viên, kiểm thử viên, cho đến nhà quản trị dự án đều có thể cùng cộng
tác trong một môi trường phát triển phần mềm và thống nhất được tạo bởi
TFS.
Kiến trúc hệ thống Visual Studio Team Foundation Sever
4
3. Team Explorer
Trong kiến trúc Hệ thống Visual Studio Team Foundation Sever,
Team Explorer đóng vai trò là một ứng dụng phía Client có khả năng
kết nối với TFS.
Team Explorer được tích hợp sẵn trong Visual Studio, giúp chúng ta
có thể dễ dàng sử dụng để truy cập các chức năng của Team
Foundation Explorer hỗ trợ cho việc quản lý Sourcode.
4. Codeplex
Codeplex.com là một trang Web của Microsoft, được chuyên dùng để
lưu trữ những dự án mã nguồn mở. Nó đóng vai trò là một sever chứa
Source code của dự án, tại đây, chúng ta có thể tự tạo Project, chia sẻ,
tham gia cộng tác dự án với những người khác trong cộng đồng.
II. Quản lý Source code với Team Foundation Sever và Codeplex.
1. Sử dụng Codeplex
1.1 – Tạo Project
Truy cập http://codeplex.com và đăng nhập bằng tài khoản của Microsoft, hoặc tự
tạo mới một tài khoản.
Tại trang chủ, sau khi đăng nhập, ta nhấn vào nút Create Project.
5
Điền đầy đủ thông tin về Project sẽ được tạo.
- Tại mục Source Control, chúng ta sẽ lựa chọn Team Foundation Sever và
chọn Team Explorer là phần mềm sử dụng để sử dụng các chức năng của
Team Foundation Sever cho việc quản lý Source code.
- Nhấn Create để tạo Project.
Sau khi tạo xong một Project mới, chúng ta sẽ được chuyển đến trang chủ
chứa thông tin về Project là trang web có địa chỉ do chúng ta nhập vào ở mục
2. CHOOSE A URL.
6
Codeplex sẽ tự động xóa Project của bạn nếu trong vòng 30 ngày, kể từ ngày
tạo Project mà bạn không Public nó ra cộng đồng. Sau khi Public thì người
khác có thể truy cập vào địa chỉ này và Download Source code của dự án về.
1.2 - Một số chức năng chính
a. Tùy chỉnh trang chủ:
Tại menu HOME, sử dụng chức năng Edit Page, ta có thể thay đổi những thông tin
về Project.
b. Quản lý Source Code trực tuyến
Tại menu SOURCODE, chúng ta có thể quản lý Source code được lưu trữ tại sever,
xem thông tin lịch sử cập nhật, lấy những thông tin kết nối với phần mềm hỗ trợ
quản lý.
7
Tại mục Connect, Codeplex cung cấp cho chúng ta các URL dùng để kết nối đến các
phần mềm hỗ trợ quản lý Sourcode như Team Foundation Sever trong Visual Studio,
hay Subversion… Username, Password dùng để khai báo khi kết nối.
c. Quản lý nhân sự dự án
Để thêm thành viên vào dự án, chúng ta sử dụng Menu PEOPLE, sau đó vào mục
Manage Team.
Username: Điền tên thành viên (đã có tài khoản trên Codeplex).
Role: là chức vụ của thành viên trong dự án.
Tham khảo quyền hạn của mỗi loại thành viên dự án tại link:
http://mssoft.codeplex.com/team/roles
8
2. Sử dụng Team Explorer để quản lý Sourcode
2.1 – Kết nối tới Team Foundation Sever.
Khởi động Visual Studio 2012, từ menu TEAM, chọn Connect to Team Foundation
Sever, cửa sổ Connect to Team Foundation Sever xuất hiện.
Bước 1, ta nhấn nút Severs, cửa sổ Add/Remove Team Foundation Sever xuất
hiện.
Bước 2, ta nhấn nút Add… để thêm sever vào.
Bước 3, tại cửa số Add Team Foundation Sever, ta sử dụng link Project cung cấp
bởi Codeplex vào ô Name or URL of Team Foundation Sever (mục 1.2 –b).
Nếu không sử dụng host của
Codeplex, chúng ta có thể tự
điền các thông số về sever
riêng để có thể Kết nối với
Team Foundation Sever.
9
Tiếp theo, điền Username, password từ Codeplex (ở mục 1.2 –b) để kết nối.
Đánh dấu tick vào ô Remember my credentials nếu muốn lưu tài khoản tại Hệ điều
hành.
10
Danh sách các Project đã tạo trên Sever Codeplex sẽ được hiển thị ở mục Team
Projects. Chọn Project muốn kết nối và nhấn Connect.
Cửa sổ Team Explorer hiển thị những công cụ hỗ trợ quản lý Source code, như vậy
việc kết nối tới Team Foundation Sever đã thành công.
2.2 – Các thao tác quản lý Source Code trên Team Explorer.
a. Thêm Source Code
Tại giao diện chính của Team Explorer, chọn Source Control Explorer để mở cửa
sổ quản lý Sourcode.
Màn hình của cửa sổ Source Control Explorer được chia làm 2 phần.
Bên trái (Folder) là thư mục trên sever, bên phải (Local Path) là đường dẫn thư
mục được lưu trên máy cá nhân.
Ta chọn Project chứa trong thư mục trên Sever (1), sau đó nhấn biểu tượng (2) Add
Items to Folder.
11
Cửa sổ Add to Source Control hiện ra, tại đây ta nhấn Browse… để tìm đến thư
mục chứa Sourcode trên máy, sau đó ta chọn những items muốn thêm vào để quản
lý.
Tại mục Destination source control folder, ta chọn thư mục đích trên sever để lưu
trữ Source code.
Mục Destination local folder: Để chọn thư mục để lưu trữ Source trên máy, ta nhấn
Map… (Source code trên sever tải về sẽ được lưu trữ ở đây).
12
Tại cửa sổ Map, ta chọn Local Folder để map, có thể là thư mục đang chứa Source
Code cần add trên máy hoặc một thư mục khác.
Sau khi thực hiện Map Folder, ta trở lại với cửa sổ Add to Source Control và nhấn
Finish để hoàn tất.
Sau khi đã add thành công, các items đều có dấu + phía trước, và chúng vẫn chưa
được cập nhật lên sever.
b. Cập nhật toàn bộ Source code lên sever.
13
c. Cập nhật toàn bộ Project mới nhất từ Sever
Để thực hiện cập nhật phiên bản mới nhất của Project từ Sever, ta thực hiện lệnh Get
Tại khung Folders, chọn
project (mục) cần cập nhật lên
sever, rồi nhấn biểu tượng (2)
để Check in lên sever
Sau khi nhấn biểu tượng Check In, tại
cửa sổ Pending Changes của Team
Explorer, sẽ xuất hiện quá trình chuẩn
bị cho việc Check In, cập nhật nội dung
Source Code lên sever.
Tại mục Comment, chúng ta điền nội
dung để thông báo cho các thành viên
trong nhóm biết các thay đổi vừa cập
nhật.
Nhấn nút Check In (2) để thực hiện cập
nhật Source code lên sever.
14
Lastes Version.
d. Thao tác chuẩn bị trước khi chỉnh sửa code
Tại cửa sổ Source Control Explorer của Team Explorer, chọn các mục cần chỉnh sửa,
sau đó nhấn biểu tượng (2) Check out.
Tại khung Folders, chọn
project (mục) cần get dữ liệu,
rồi nhấn biểu tượng (2) Get
lasts Version (Recursive) để
cập nhật bản mới nhất từ
Sever
15
Tại cửa sổ Check out hiện ra, ta chọn loại Lock type.
Có 2 loại Lock Type:
+ Unchange – Keep any existing lock: Chế độ Unchange này, cho phép các thành
viên có thể cùng check out, edit và check in lên sever.
+ Check In: Allow other users to check out but prevent them from checking in.
Chế độ Check In, chấp nhận thành viên khác có thể check out, nhưng không được
Check In ngược lại lên sever.
Sau đó nhấn Check Out để chuẩn bị chỉnh sửa.
e. Cập nhật những thay đổi lên Sever
Sau khi thực hiện các thao tác thay đổi với những items đã check out trước đó (Biểu
tượng dấu tick), hoặc với những items mới thêm vào (biểu tượng dấu +) chúng ta
thực hiện cập nhật những thay đổi đó lên sever bằng lệnh Check In.
16
Chọn các items muốn cập nhật lên sever, nhấn biểu tượng (2) Check In.
Ta được chuyển đến cửa sổ Pending Changes của Team Explorer.
Tại mục Comment, chúng ta điền nội
dung để thông báo cho các thành viên
trong nhóm biết các thay đổi vừa cập
nhật.
Nhấn nút Check In để thực hiện cập
nhật Source code lên sever.
Tương tự mục b (cập nhật toàn bộ
Project)
Mỗi lần dùng thao tác Check In để cập
nhật Source Code lên sever, hệ thống
sẽ tạo ra 1 changset (đối tượng quản
lý sự thay đổi mã nguồn)
17
f. Đưa items mới get về vào Solution Explorer.
Chức năng này giúp chúng ta sau khi get Project, nếu có những items mới từ các
thành viên khác add vào.
Tại cửa sổ Solution Explorer, chọn biểu tượng (1) Show all files.
Click chuột phải vào những items có biểu tượng phía trước (những items mới do
những thành viên khác add vào), chọn Include In Project.
18
g. Sử dụng thao tác Shelve Pending Changes để cập nhật Source Code lên
server.
Tương tự như Check out, Shelve Pending Changes dùng để cập nhật tài nguyên lên
server nhưng điểm khác ở đây khi thực hiện Shelve thì TFS sẽ không tạo ra các
change set.
Ở cửa sổ Pending Changes hiện ra sau
khi chọn Shelve Pending Changes, ta
cần khai báo tên Shevle ở vị trí 1, sau
đó nhấn Shelve để tiến hành cập nhật
Soure Code lên server mà bỏ qua đối
tượng Changeset
19
Thao tác Unshelve cũng giống như Check out và cũng sẽ không tạo ra change set như
Shelve
h. Xem lịch sử thay đổi
Chức năng View History trong Source Control Explorer
Cửa sổ History hiện ra sau đó, chúng ta có thể theo dõi lịch sử thay đổi theo các đối
tượng quản lý là Changeset hoặc là Labels.
Với các đối tượng changeset được đánh mã số, chúng ta có thể sử dụng nó để có thể
loại bỏ những thao tác đã thực hiện trước đó (nếu muốn) nếu có sai xót xãy ra. Chức
năng này được gọi là Rollback.
Tại khung Folder trong cửa sổ
Source Control Explorer, chọn
mục cần xem lịch sử, click chuột
phải và chọn View History
20
i. Quay lui (hủy bỏ) thao tác đã thay đổi trước đó.
Ở cửa sổ Rollback hiện ra, ta sẽ thấy được mục ta cần Rollback ở mục Items to
Rollback, nếu muốn chọn lại, có thể nhấn nút Browse…
Tiếp theo, ta sẽ chọn kiểu Rollback: đối tượng changeset bất kì (Rollback changes
from single changeset), hoặc trong phạm vi giữa 2 đối tượng changeset (Rollback
Tại khung Folder trong cửa sổ
Source Control Explorer, chọn
mục cần Rollback, click chuột
phải và chọn Rollback…
21
changes from a range of changeset), hoặc dựa trên phiên bản đặc biệt (Rollback
to a specific version)
Ở trên, ta sử dụng kiểu Rollback dựa trên một đối tượng changeset nhất định, ta có
thể điền kí hiệu của changeset muốn thay đổi được tìm thấy trong History (mục i)
hoặc có thể nhấn nút … để tìm changeset khác.
Ví dụ: ở đối tượng changeset kí hiệu là 19869, ta thêm form frmAIO, sau khi sử dụng
chức năng Rollback tại changeset 19869, form frmAIO đã bị xóa (hủy bỏ thao tác
được lưu trữ trong đối tượng changeset mang kí hiệu là 19869)
j. So sánh Source Code trước khi Get về Local Folder
Trong Source Control Explorer cung cấp chúng ta một chức năng so sánh Source
Code giữa các phiên bản với nhau.
Với vai trò là một người quản lý dự án, bạn có thể chủ động kiểm tra code đã được
thay đổi trên sever như thế nào trước khi quyết định get về, bạn có quyền chỉnh sửa
code đó cho phù hợp.
Form frmAIO bị xóa, sẽ có
dấu x trước form
22
Mở Cửa sổ History để kiểm tra những thay đổi đã cập nhật lên sever.
Sử dụng đối tượng changeset để kiểm tra và so sánh Source Code.
23
Click chuột phải vào đối tượng Changeset muốn kiểm tra, chọn Compare…
Tại cửa sổ Compare hiện ra:
- Source Path: chỉ ra đường dẫn nguồn trên server của thư mục cần so sánh, có thể
chọn lại thư mục khác.
- Source Version: Chỉ ra phiên bản Source code cần so sánh, dựa trên đối tượng
Changeset, Label…
- Filter: Lọc theo định dạng file…
24
Tại cửa sổ Folder Difference hiện ra sau đó, chúng ta sẽ thấy những file có sự khác
biệt sẽ được đánh dấu màu đỏ, và ở cột Different là Yes.
Click chuột phải vào file cần so sánh và chọn Compare Files…
Tại đây, ta có thể so sánh những đoạn code nào là khác nhau và chỉnh sửa cho phù
hợp, sau đó Save lại.
k. Giải quyết xung đột khi Checkin
Đôi khi chúng ta không sử dụng chức năng Check out trước khi chỉnh sửa code,
hoặc có check out, nhưng sử dụng chế độ Unchange – Keep any existing lock thì
tất cả thành viên trong dự án đều có thể Check out, Edit, Check in trên cùng một file
mã nguồn là điều có thể xãy ra. Điều này sẽ dẫn đến sự xung đột (Conflict) mã
25
nguồn, lúc đó để giải quyết vấn đề này, chúng ta sẽ được so sánh Source Code giữa
Local và Sever sau đó sẽ quyết định giữ lại Sourcode nào hoặc Trộn lại với nhau.
Cửa sổ Resolve Conflits hiện ra, ở cửa sổ này chúng ta sẽ thấy được những file nào
trong mã nguồn có sự xung đột và chúng ta có 3 lựa chọn để giải quyết xung đột như
sau:
- Merge Changes In Merge Tool: Chúng ta sẽ trộn Sourcode trên công cụ
Merge Tool
- Take Server Version: Đồng bộ phiên bản hiện có trên Server với Local
- Keep Local Version: Đồng bộ phiên bản hiện có ở Local với server.
Với chức năng Merge Changes In Merge Tool chúng ta sẽ được so sánh Sourcode
giữa Server và Local, đồng thời sẽ được xem kết quả sau khi Merge tại cửa sổ Result.
Khi đó chúng ta sẽ quyết định “trộn” Sourcode lại hay không.
Khi thực hiện Check In, nếu xãy ra
xung đột, Cửa sổ Pending Changes sẽ
thông báo cho chúng ta biết, có bao
nhiêu xung đột xãy ra.
Nhấn Resolve Conflicts để thực hiện
các thao tác tiếp theo giải quyết xung
đột.
26
l. Phân nhánh, kết hợp các phiên bản
Để tạo ra nhiều phiên bản mới chúng ta có thể sử dụng chức năng Branch.
Branch giúp các thành viên có thể quản lý tài nguyên nhiều phiên bản cùng lúc và
cùng phát triển song song các phiên bản
Ngược lại, chúng ta dùng chức năng Merge để kết hợp 2 phiên bản lại với nhau.
27
Tài liệu tham khảo:
Wikipedia, Application lifecycle
management, http://en.wikipedia.org/wiki/Application_lifecycle_management
Application Lifecycle Management with Visual Studio and Team Foundation
Server, http://msdn.microsoft.com/en-us/library/fda2bad5.aspx
Working with Team Foundation Clients, http://msdn.microsoft.com/en-
us/library/ms181304.aspx