- … Để giải quyết được vấn đề đó, chúng ta có thể sử dụng các công cụ quản lý Source code, trong số đó, phổ biến nhất là Subversion, với công cụ này, toàn bộ mã nguồn có thể được lưu tr
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
- -
BÁO CÁO MÔN CÁC PHƯƠNG PHÁP LẬP TRÌNH
ĐỀ TÀI: TÌM HIỂU CÁC CÔNG CỤ QUẢN LÝ SOURCE CODE
Sinh viên thực hiện:
Mai Văn Khải 09520133
Hồ Đức Lợi 09520162
Võ Thành Nhân 09520198
Trang 2LỜI NÓI ĐẦU
Trong quá trình phát triển phần mềm theo nhóm hay theo từng cá nhân, chúng ta thường xuyên sẽ gặp phải nhiều vấn đề như:
- Làm thế nào để quản lý được các phiên bản của quá trình quản lý phần mềm?
- Làm thế nào để quản lý source code chung cho cả nhóm?
- …
Để giải quyết được vấn đề đó, chúng ta có thể sử dụng các công cụ quản lý Source code, trong số đó, phổ biến nhất là Subversion, với công cụ này, toàn bộ mã nguồn có thể được lưu trữ trên một thư mục (Repository) và tất cả các thành viên tham gia dự án
có thể thực hiện các thao tác đưa mã nguồn lên, tải mã nguồn về, cập nhật những thay đổi, lấy về những thay đổi do các thành viên khác cập nhật trước đó,…
Việc tạo ra một Repository trên mạng để dùng chung cho cả nhóm dự án sẽ thật đơn giản với các Công Ty, các tổ chức tuy nhiên, với những nhóm nhỏ hay cá nhân thì việc này không hề đơi giản, Google đã đưa ra dịch vụ google code để đáp ứng nhu cầu này
Trang 3Mục Lục
I Google code - 2 -
1 Google code là gì? - 2 -
2 Các tạo 1 Project mới trên Google code - 2 -
3 Thiết lập các chức năng cho project - 6 -
II Subversion - 12 -
1 Subversion là gì? - 12 -
2 Lịch sử của Subversion - 12 -
3 Hai cách cơ bản để quản lý source code với SVN - 12 -
III Tài Liệu tham khảo - 27 -
IV Các phiên bản phần mềm - 27 -
Trang 4I Google code
1 Google code là gì?
Google code là một trang web của google, ra mắt ngày 17 tháng 3 năm 2005 Trong đó tập trung các nhà phát triển các dự án phần mềm mã nguồn mở được hỗ trợ bở Google Trang có rất nhiều mã nguồn phần mềm và danh sách các dịch vụ
có hỗ trợ các API công cộng để phục vụ cho việc phát triển các phần mềm hỗ trợ khác
Google code cũng như 1 hosting bình thường và nó dùng để chứa tài liệu rất hiệu quả.Ngoài ra, khi làm việc nhóm với 1 project nào đó sẽ không tránh khỏi việc chỉnh sửa project giữa các thành viên trong nhóm vì thế Google code là nời sẽ giúp chúng ta có thể kiểm soát được quá trình làm việc trên một cách chuẩn xác Chúng ta sử dụng google code như 1 free web host để lưu giữ thông tin, source code cũng như những thư mục khác phục vụ cho project của nhóm
Trang chủ của google code: http://code.google.com/intl/vi-VN/
2 Các tạo 1 Project mới trên Google code
Bước 1: Đăng nhập vào tài khoản Google của bạn
Trang 5Bước 2: Truy cập vào trang chủ của google code ở địa chỉ:
http://code.google.com/intl/vi-VN/
Tài khoản Đã đăng nhập
Click để tạo Google code Project
Trang 6Bước 3: Chọn mục tạo Project hosting trên Google Code
Bước 4: Tạo mới 1 project
Click chọn mục Tạo Project Hosting
Tạo mới 1 Project
Trang 7Bước 5: Điền thông tin của project
Tên Project
Chọn phần mmềm thao tác với Project
Trang 83 Thiết lập các chức năng cho project
3.1 Trang chủ Project (Project home)
Một số tab cần lưu ý trong trang chủ project:
Download: Nơi cung cấp các tài nguyên cho phép người sử dụng download
Issues: Nơi các thành viên của đội dự án có thể đưa ra các lỗi, các trường hợp phát sinh trong quá trình phát triển phần mềm và cách sửa (Nếu có)
Source: Nơi quản lý mã nguồn
Administer: nơi quản lý dự án (Thêm, xóa người dùng, sửa, xóa dự án,…)
3.2 Thêm và quản lý các thành viên của 1 project
Người nhóm trưởng (Người tạo Project) có thể thêm các thành viên trong nhóm vào project Trong google code có 3 nhóm thành viên là:
Project Name
Project Summary
Project description
Trang 9 Project owners: là người sở hữu dự án (Mặc định là người tạo ra project) Thành viên trong nhóm này có thể tạo ra bất cứ sự thay đổi nào trong project
Project committers: Thành viên của dự án (Có quyền check out
(download dự án), Commit (Cập nhật thay đổi lên dự án), Update
(Cập nhật những thay đổi do các thành viên khác đã commit)), có thể làm việc trong dự án nhưng không thể thay đổi thiết lập của dự án
Project contributors: Người cộng tác cùng dự án,Người này có quyền view source code của project, nhưng không có quyền can thiệp vào project Quyền của người này sẽ được ghi rõ khi họ truy cập vào project home
Các bước thêm thành viên vào dự án:
Click vào tab Administer -> Project Members
Đánh Email người muốn thêm vào nhóm thành viên tương ứng (Lưu
ý, phải là Gmail)
Nhấn nút Save changes:
Click vào Tab
Nhóm thành viên Project committers
Nhóm thành viên Project contributors
Trang 10Chú ý: Mỗi thành viên (kể cả người tạo dự án) đều có một mật khẩu
để có thể làm việc với dự án, mật khẩu này không trùng với mật khẩu
mà các thành viên sử dụng để đăng nhập vào các dịch vụ của google như Gmail hay google code Để xem mật khẩu này, bạn cần chọn vào
mục Profile, sau đó vào phần Settings
3.3 Thiết lập cho phép google code tự động gửi các thông tin cập nhật về email của các thành viên trong dự án
Gửi các thồn tin về các lỗi phát sinh trong quá trình phát triển dự án
1) Chọn tab Administer -> Issue Tracking
2) Tìm đến mục thiết lập địa chỉ email để gửi thông báo Tốt nhất nên tạo ra một mail group cho tất cả các thành viên trong nhóm
Click vào Profile
Click vào tab
Settings
Mật Khẩu của bạn đây!
Click vào nút này để
lấy mật khẩu mới
Trang 11 Gửi các thông tin về các thay đổi trong dự án (Thêm, bớt, sửa, xóa các file trong dự án)
1) Chọn tab Administer -> Source
2) Tìm đến mục thiết lập địa chỉ email để gửi thông báo Tốt nhất nên tạo ra một mail group cho tất cả các thành viên trong nhóm
3.4 Chức năng download
- Giống như các web host hỗ trợ up/download khác, chức năng này sẽ giúp
ta có thể share các phần mềm, các báo cáo, tài liệu cũng như mọi thứ khác
để các thành viên trong nhóm có thể download về máy của họ!
Trang 12Sau khi thực hiện các thao tác trên, file của ta sẽ được upload lên, ta có kết quả như hình sau:
Lúc này, các thành viên khác của project có thể download về máy của họ
Click để Upload file lên!
Click New
download để
upload file mới
Trang 133.5 Xóa project
Sau khi hoàn thành Project hoặc trong quá trình thực hiện project gặp rắc rối dẫn đến việc phải hủy project đi, người tạo ra project này có thể xóa project này đi bằng cách:
1) Chọn tab Administer -> Advanced
2) Trong giao diện mới, click vào nút Delete project, toàn bộ nội dung
của project sẽ được xóa
3.6 Lấy link của project
Địa chỉ này cho phép mọi người truy xuất đến project của bạn
Click vào tab
Click vào tab
Link của Project
Trang 14II Subversion
1 Subversion là gì?
- Subversion hay còn gọi là SVN (http://subversion.tigris.org/) là một hệ thống quản lý phần tài nguyên của một dự án Hệ thống có khả năng tự cập nhật, so sánh và kết hợp tài nguyên mới vào phần tài nguyên cũ
- Kiến trúc Client/Server
+ Server: lưu bản chính của dự án
+ Client Làm việc trên bản copy của bản chính trên server
- Để có thể sử dụng được hệ thống SVN, chúng ta cần phải cài đặt phần mềm
TortoiseSVN là Client tốt nhất của hệ thống SVN
- Download phần mềm (http://tortoisesvn.net/downloads.html) và cái đặt như
các phần mềm khác Trong báo cáo này là bản TortoiseSVN-1.7.1.22161 (Bản
chạy trên window)
2 Lịch sử của Subversion
- Có tiền thân là CVS (Concurrent Versions System)
- Nhược điểm của CVS:
+ Đưa dữ liệu lên CVS server ít tin cậy
Mỗi file đưa lên CVS là 1 bản gốc cộng với những thông tin bổ sung nên dẫn đến trùng lặp -> mất dữ liệu
+ Server làm việc khá nặng Đặc biệt khi lấy bản sao xuống
+ Nhiều người bị giới hạn về bức tường lửa (firewall) thì không sử dụng được CVS
+ …
- Đầu năm 2000, CollabNet bắt đầu tìm kiếm nhà phát triển để thay thế
CVS
- Tháng 2, 2000, CollabNet liên lạc với Karl Fogel, tác giả của Open
Source Development with CVS Trùng hợp, ông này đang thảo luận với bạn của mình là Jim Blandy về khắc phục những hạn chế của CVS
- Ý tưởng chính là dữ lại những kiến trúc tốt của CVS, khắc phục những nhược điểm bên trong, giúp cho người dùng nhanh chóng chuyển đổi sang cái mới mà ít gặp khó khăn nhất
- Với sự cộng tác của CollabNet, 8/2001, Subversion ra đời và nhanh chóng được đón nhận
3 Hai cách cơ bản để quản lý source code với SVN
3.1 Thao tác với file và folder
Trang 15a) Import (upload) một project lên google code
- Tạo một project như thông thường
- Trên thư mục chứa project (trên máy tính), chuột phải, chọn
TortoiseSVN ~> Import…
- Đăng nhập vào project host trên google code mà ta vừa tạo ở trên
- Click vào tab Source, lấy link của project và dán vào textBox URL
of Repository, click OK
Bấm chuột phải vào thư mục chứa project
Chọn TortoiseSVN
Chọn Import…
Copy dòng
Paste vào đây
Có thể để lại tin nhắn cho các thành viên khác
Đăng nhập vào project host và click vào tab source
Trang 16- Sau khi đã đăng nhập thành công, phần mêm sẽ Import (Upload) các file trong project lên project host trên google code
Như vậy, ta đã Import thành công một project, các thành viên khác
Click để lấy password username
Bấm OK
Trang 17b) Checkout (download) project về
Nếu bạn là một thành viên của dự án thì bạn có thể checkout project về để có thể tiếp tục phần việc của mình
Các bước để checkout 1 project từ project hosting trên google code về máy tính:
- Tạo một thư mục rỗng dùng để chưa project
- Trong thư mục đó, chuột phải chọn SVNcheckout
- Đăng nhập vào tài khoản google code của mình bằng gmail đã đăng kí với nhóm trưởng (hoặc người tạo project)
- Thực hiện đúng theo các thao tác sau:
Đăng nhập bằng tài khoản google đã đăng kí với nhóm trưởng
Copy dòng URL và paste vào cửa sổ hiện ra
Trang 18Phần mềm SVN sẽ tự động checkout project source code về thư mục đã tạo sẵn trước đó
Lúc này, ta tiến hành công việc của mình
Sau khi hoàn thành công việc của mình, các file (hoặc folder) mà ta vừa sửa sẽ có dấu chấm than nền đỏ:
Trang 19Ta cần commit project lên để tích hợp với project chung của nhóm, Cũng trên thư mục chứa project chuột phải chọn SVNCommit…
Các file trong folder này
có sự thay đổi (Thêm, xóa hoặc sửa file
Đặt thông báo ở đây để các thành viên khác biết việc mình vừa làm
Click chọn các file cần commit lên
Trang 20Phần mềm SVN sẽ Commit project lên project host trên google
c) Update và kiểm tra sự thay đổi
Sau khi bạn commit project lên các thành viên khác có thể lấy
về làm phần việc của họ, Khi bạn cần tiếp tục công việc của mình,Bạn cần update project bằng cách bấm chuột phải (vào bên
Username
Click để lấy password
Click OK
Trang 21trong thư mục chưa project mà bạn đã checkout từ project hosting trên google xuống) Chọn SVN Update, phiên bản mới nhất mà các thành viên khác đã làm và commit lên sẽ được SVN Update đưa về máy của bạn
Bạn có thể kiểm tra xem các thành viên khác đã thay đổi những gì bằng
cách:chuột phải trên folder chứa project chọn TortoiseSVN/check for
modification
Trang 223.2 Sử dụng SVN trong Neatbean
a) Import Project
- Khởi động neatbean, chọn project cần import
- Một cửa sổ hiện ra cho phép ta nhập đường dẫn của project trên google code
Trang 23- Nhấn next Chương trình sẽ hiện ra 1 cửa sổ cho ta nhập thông tin project cho các thành viên khác
- Nhấn Next, các file sẽ được Import lên project hosting trên google code và danh sách các file được Import lên sẽ hiện ra Click Finish
Copy URL trên google code và dán vào đây
Lấy Username và
Password trên google
code dán vào đây
Trang 24b) Checkout project
- Cách checkout project về để các thành viên khác có thể làm việc của mình
- Trên giao diện chính của neatbean, chọn tab Team -> Subversion ->
Checkout… một cửa sổ hiện ra cho phép nhập URL của google Lặp lại
các bước như trên
Trang 25URL trên google code
Trang 26Đợi trong giây lát để SVN checkout project về cho bạn Sau khi project đã được load về netbean sẽ hỏi bạn có muốn load project ko Nhấn Open project và project sẽ được mở, lúc này bạn hoàn toàn có thể thực hiện phần việc của mình
Trang 27Tin nhắn cho các thành viên khác
Check vào các file có thay đổi
và muốn commit
Click để tiến hành commit
User name và password lấy trên google code
Trang 28d) Update và kiểm tra sự thay đổi
Sau khi các thành viên lấy project về làm, bạn muốn tiếp tục công việc của mình cần update lại project để cập nhật lại những công việc mà các thành viên khác đã làm
Trên project của mình, bấm chuột phải chọn subversion/update
Trang 29III Tài Liệu tham khảo
1 Ebook Giáo trình Project Source Code Manager on Google Code Using NetBean IDE and SVN của FPTAptech