DỊCH vụ đám mây hỗ TRỢ DEVELOPER xây DỰNG ỨNG DỤNG DI ĐỘNG

51 13 0
DỊCH vụ đám mây hỗ TRỢ DEVELOPER xây DỰNG ỨNG DỤNG DI ĐỘNG

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN ĐHQG TP.HCM KHOA : CÔNG NGHỆ PHẦN MỀM BÁO CÁO ĐỒ ÁN DỊCH VỤ ĐÁM MÂY HỖ TRỢ DEVELOPER XÂY DỰNG ỨNG DỤNG DI ĐỘNG Cloud service for Mobile developer – Continuous Integration Giảng viên hướng dẫn NGUYỄN THỊ THANH TRÚC Sinh viên thực : Phan Lê Quang - 17520950 NHẬN XÉT CỦA GIẢNG VIÊN ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… LỜI CẢM ƠN Đầu tiên, chúng em xin gởi lời cảm ơn chân thành đến tập thể quý thầy cô Trường Đại học Công nghệ thông tin – Đại học Quốc gia TP.HCM đặc biệt cô Nguyễn Thị Thanh Trúc giảng viên Khoa Công Nghệ Phần Mềm Thầy trực tiếp hướng dẫn tận tình, sửa chữa đóng góp nhiều ý kiến q báu giúp nhóm tác giả hồn thành tốt báo cáo đồ án mơn học Bên cạnh đó, lần xin cảm ơn nhóm bạn lớp làm khóa luận động viên, thảo luận góp ý cho nhóm đồng thời khơi thêm nguồn động lực cho nhóm để tiếp thêm động lực cho nhóm giai đoạn đầy khó khăn Trong q trình làm đồ án mơn học, cố gắng hồn thành đồ án với góp sức thành viên, nhiên khơng tránh khỏi sai sót, hạn chế Nhóm chúng em mong nhận góp ý q bạn để hồn thiện Sinh viên thực Phan Lê Quang TP.Hồ Chí Minh, ngày 24 tháng 12 năm 2020 MỤC LỤC Table of Contents CHƯƠNG 01 GIỚI THIỆU ĐỀ TÀI 11 01.01 Đề tài 11 01.02 Lý chọn đề tài 11 CHƯƠNG 02 TỔNG QUAN ĐỀ TÀI 12 02.01 Mục tiêu phạm vi 12 02.01.01 Mục tiêu 12 02.01.02 Phạm vi đề tài 12 02.01.03 Đối tượng người dùng 13 CHƯƠNG 03 CƠ SỞ LÝ THUYẾT 13 03.01 React JS 13 03.01.01 Khái niệm 13 03.01.02 Ưu điểm 14 03.01.03 Khuyết điểm 14 03.02 Node JS 15 03.02.01 Khái niệm 15 03.02.02 16 03.02.03 Ưu điểm 16 03.02.04 Khuyết điểm 17 03.03 MongoDB 17 03.03.01 Khái niệm 17 03.03.02 Đặc điểm 18 03.03.03 Ưu điểm 18 03.03.04 Khuyết điểm 19 03.04 Docker 19 03.04.01 Khái niệm 19 03.04.02 Đặc điểm 19 03.04.03 Ưu điểm 20 03.04.04 Khuyết điểm 20 03.04.05 Khái niệm liên quan 20 03.05 CI (Continuous Integration) 21 03.05.01 Khái niệm 21 03.06 CD (Continuous Deployment) 22 03.06.01 Khái niệm 22 03.07 Agile 23 03.07.01 Khái niệm 23 03.07.02 Giá trị 23 03.07.03 Nguyên tắc 26 03.08 Docker 28 03.08.01 Khái niệm 28 03.08.02 Đặc điểm 28 03.08.03 Ưu điểm 29 03.08.04 Khuyết điểm 29 CHƯƠNG 04 khảo sát đề tài 30 04.01 Khảo sát thực trạng 30 04.02 Các sản phẩm tương tự thị trường 31 04.02.01 GitlabCI 31 04.02.02 Github action 32 CHƯƠNG 05 PHÂN TÍCH BÀI TỐN 33 05.01 Objective 33 05.02 Release 33 05.03 Phân tích thiết kế yêu cầu 35 05.03.01 Sơ đồ Use-Case 35 05.03.02 Sequence diagram 39 05.03.03 User flow 42 05.03.04 Class diagram 47 05.03.05 System architecture 48 CHƯƠNG 06 CÀI ĐẶT VÀ KIỂM THỬ 49 06.01 Cài đặt 49 06.01.01 Cài đặt 49 06.01.02 Môi trường phát triển triển khai phần mềm 49 CHƯƠNG 07 KẾT LUẬN 50 07.01 Kết phần mềm 50 07.01.01 Các chức làm 50 07.01.02 Các chức chưa cài đặt 50 07.01.03 Điểm bật 50 07.01.04 Hướng phát triển 51 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN ĐỀ CƯƠNG CHI TIẾT TÊN ĐỀ TÀI TIẾNG VIỆT: Dịch vụ đám mây hỗ trợ developer xây dựng ứng dụng di động TÊN ĐỀ TÀI TIẾNG ANH: Cloud service for Mobile developer – Continuous Integration Giảng viên hướng dẫn: Nguyễn Thị Thanh Trúc Thời gian thực hiện: Từ ngày 07/09/2020 đến ngày 24/12/2020 Sinh viên thực hiện: Phan Lê Quang – 17520950 Nội dung đề tài ● Tổng quan: o Hiện với tốc độ phát triển vượt bậc lĩnh vực cơng nghiệp phần mềm, song song nhu cầu làm sản phẩm phần mềm ngày cao Các developer sẽ rất tốn thời gian việc : triển khai, kiểm thử, việc đời công cụ CI(Continuous Integration) CD(Continuous Delivery) cần thiết để tự động hóa q trình nói Bên cạnh hầu hết cơng ty phần mềm áp dụng mơ hình Agile, với tư tưởng Agile ln đón nhận thay đổi liên tục, bàn giao liên tục với tốc độ cao tần śt lớn , chính lẻ hệ thống CI,CD lại đóng vai trò quan trọng việc đẩy nhanh tốc độ bàn giao phát triển sản phẩm, tiết kiệm tối đa nhân lực Trong phạm vi đồ án này, nhóm em sẽ xây dựng hệ thống phục vụ cho mobile developer để tự động hóa bước cuối q trình phát triển phần mềm cách nhanh chóng liên tục - hay gọi Contiuous Integration (CI) o Dịch vụ đám mây hỗ trợ developer xây dựng ứng dụng di động: Là hệ thống hỗ trợ developer giai đoạn build ứng dụng Thay sau phát triển xong developer phải sử dụng máy họ để build ứng dụng sẽ rất tốn thời gian việc cấu tốn nhiều thời gian chờ đợi Nhờ có CI mà việc build ứng dụng sẽ tự động hóa tiết tiệm tối đa thời gian công sức developer o Mục tiêu: Xây dựng hệ thống CI hỗ trợ mobile developer build ứng dụng nhanh nhất Build app đơn giản cấu hình đơn giản build hồn tồn dịch vụ đám mây, khơng tốn tài khuyên máy local tốc độ build nhanh Đáp ứng nhu cầu tốc độ build nhanh build liên tục mơ hình phát triển phần mềm đại Bên cạnh hệ thống hỗ trợ developer cá nhân chưa có kinh phí thuê hệ thống CI chuyên nghiệp ● Đối tượng: o Các đội phát triển sản phẩm (phần mềm) vừa nhỏ (Chưa có kinh nghiệm việc xây dựng CI) o Những developer cá nhân chưa có kinh phí th dịch vụ CI chuyên nghiệp ● Phương pháp thực hiện: nhóm 01 thành viên, tự lên hoạch, tự tổ chức, tự thiết kế hệ thống tìm hiểu kiến thức liên quan Sử dụng công cụ quản lý task To Do Microsoft Liên hệ giảng viên gặp khó khăn đề tài mặt nghiệp vụ lẫn công nghệ ● Công nghệ phát triển: Công nghệ sử dụng gồm o Front-end: Sử dụng thư viện UI ReactJS ngôn ngữ thiết kế Material o Back-end: Sử dụng NodeJS framework ExpressJS Sử dụng kiến trúc MVC để xây dựng phần mềm o Database: Sử dụng sở liệu MongoDB o Deployment: Deploy Docker ● Kết mong đợi: Kết cuối sẽ có hệ thống CI developer build app cấu hình đơn giản nhất Bên cạnh hệ thống cịn hỗ trợ trigger build cài đặt người dùng Kế hoạch thực hiện: STT Công việc Thời gian thực Phân công Module 1: Phân tích thiết kế 1.1 1.2 Sprint 1: Thiết kế dự án viết tài liệu đặc tả - giai đoạn Tìm hiểu quy trình nghiệp vụ CI Phân tích, xác định yêu cầu viết tài liệu đặc tả tuần (từ 07/09/2020 đến 30/09/2020) Lê Quang Tìm hiểu, lựa chọn cơng 1.3 nghệ kỹ thuật, công cụ áp dụng đồ án 2.1 2.2 2.3 2.4 Sprint 2: Thiết kế dự án viết tài liệu đặc tả P2 - giai đoạn Thiết kế sở liệu từ tài liệu đặc tả Thiết kế sơ đồ kiến trúc hệ thống (Vẽ sơ đồ) Thiết kế giao diện với thành phần (Hình vẽ) Viết document thiết kế phân tích nghiệp vụ hệ thống Module 2: Cài đặt thực hệ thống 3.1 3.2 3.3 4.1 4.2 4.3 Sprint 4: Xây dựng trang chủ Cài đặt components Xây dựng giao diện trang chủ build gần nhất Viết service client để giao tiếp với server & tìm hiểu Docker Sprint 4: Xây dựng trang setup CI Cài đặt components Xây dựng trang loading menu cần thiết Viết service client để giao tiếp với server tuần (từ 30/09/2020 đến 30/11/2020) 5.1 5.2 6.1 6.2 Sprint 5: Xây dựng Dockerfile để cài đặt components cần thiết Cài đặt components UI cịn thiếu Tích hợp Docker vào server Sprint 6: Triển khai hệ thống Docker Test test case luồng positive Hoàn thiện đồ án Module 3: Kiểm thử, sửa lỗi đóng gói 7.1 Tuần 14&15 Sprint 7: Kiểm thử sửa lỗi Kiểm thử đơn vị (UnitTest) cho chức quan trọng tuần (Từ 30/11/2020 đến 24/12/2020) Xác nhận CBHD Tp HCM, ngày 24 tháng 12 năm 2020 (Ký tên ghi rõ họ tên) Sinh viên (Ký tên ghi rõ họ tên) Nguyễn Thị Thanh Trúc 10 05.03.01.3 Login thông qua Github ID and Name: Primary Actor: Description: Trigger: Preconditions: Normal Flow: Exceptions: Priority: Frequency Use: UC-3 Login thông qua Github End user Secondary Actors: End user đăng nhập thơng qua Github PRE-3 Người dung phải có tài khoản Github 1.Vào hình 2.Ấn nút Login 3.Bấm nút confirm 4.Chuyển hướng Ez-Dev Không Cao of Ước tính khoảng 150 users, trung bình dùng lần ngày 05.03.01.4 Post-actions sau build ID and Name: Primary Actor: Description: 37 UC-4 Post-actions sau build End user Secondary Actors: Sau build thành cơng hệ thống sẽ thực số hành động: publish build, gửi email đến user, cập nhật thông tin build Trigger: Preconditions: Normal Flow: Queue build xong sẽ trigger chức PRE-4 Người dung phải đăng nhập 1.Vào hình 2.Ấn nút “Dashboard” 3.Chọn tab “Projects” 4.Cấu hình build bình thường => Build xong Gửi email thơng báo Publish build to FTP cấu hình Exceptions: Khơng Priority: Cao Frequency of Ước tính khoảng 50 users, trung bình dùng lần ngày Use: 05.03.01.5 Register trigger build ID and Name: Primary Actor: Description: UC-5 Register trigger build End user Secondary Actors: Khi queue build người dung có nhu cầu trigger build có code merge vào branch định sẵn Trigger: Có code vào branch cấu hình Preconditions: PRE-5 Người phải Normal Flow: Đăng nhập (nếu chưa đăng nhập) 2.Chọn tab “Projects” 3.Chọn dự án bạn muốn build 4.Ấn nút “Setup” 5.Thiết lập thông tin cần thiết Tick vào “Trigger to build” 7.Ấn nút “Start build” Exceptions: Không Priority: Cao Frequency of Ước tính khoảng 50 users, trung bình dùng lần ngày Use: 38 05.03.02 Sequence diagram 05.03.02.1 Build ứng dụng CI 05.03.02.2 Re-Build ứng dụng CI 05.03.02.3 Login thông qua Github 39 05.03.02.4 Post-actions sau build 40 05.03.02.5 Register trigger build 41 05.03.03 User flow 05.03.03.1 Build ứng dụng CI 42 05.03.03.2 Re-Build ứng dụng CI 43 05.03.03.3 Login thông qua Github 44 05.03.03.4 Post-actions sau build 45 05.03.03.5 Register trigger build 46 05.03.04 47 Class diagram 05.03.05 48 System architecture CHƯƠNG 06 CÀI ĐẶT VÀ KIỂM THỬ 06.01 Cài đặt 06.01.01 Cài đặt ● Yêu cầu: o Cài đặt MongoDB : https://fastdl.mongodb.org/windows/mongodbwindows-x86_64-4.4.2-signed.msi o NodeJS: https://nodejs.org/dist/v14.15.3/node-v14.15.3-x64.msi o Cài đặt Docker : https://www.docker.com/products/docker-desktop ● Hướng dẫn o Vào thư mục source-code chạy command : npm run install o Sau chạy xong, chạy tiếp command : npm run server o Chạy tiếp command : npm run client o Sau mở trình duyệt truy cập đường dẫn : http://localhost:3000 06.01.02 Môi trường phát triển triển khai phần mềm ● Hệ điều hành: phù hợp với hệ điều hành trình duyệt ● Cơ sở liệu: MongoDB 49 CHƯƠNG 07 KẾT LUẬN 07.01 Kết phần mềm 07.01.01 Các chức làm ● Đăng nhập ● Đăng ký ● Thiết lập mặc định loại người dùng đăng ký tài khoản ● Đăng nhanh dành cho người có nhu cầu mua hàng ngoại ● Đăng lịch trình nhanh dành cho người vận chuyển hàng xách tay ● Thương lượng giá nhanh ● Đánh giá giao dịch ● Thống kê lịch sử giao dịch ● Chức nhắn tin (chạy bị lỗi vài chỗ) 07.01.02 Các chức chưa cài đặt ● Trigger build nhiều hình thức ● Thêm vào component hỗ trợ build UI ● Sử dụng nhiều source vesion control : Gitlab, Bitbucket ● Thông báo build fail chế debug cho build 07.01.03 Điểm bật ● Xác thực user thông qua Github API ● Build ứng dụng từ source vesion control cụ thể Github ● Build ứng dụng template mặc định dành cho ứng dụng Android build Java/Kotlin ● Gửi mail thông báo kết ● Publish build sau build thành công ● Trigger build theo điều kiện người dung cài đặt ● Build sử dụng docker nên chạy song song nhiều build lúc, tốc độ nhanh 50 07.01.04 Hướng phát triển ● Priority point : 1-5 Future features Trigger build Purpose Priority Timeframe Hiện trigger build có code change từ branch, tương lai cần cấu hình để trigger tháng tháng tháng tháng nhiều cách : chạy sau build khác, … Thống kê Thống kê build thông minh chi tiết giúp build người dung trực quan Hỗ trợ đa Giúp người dùng dễ dàng trao đổi, mà không ngôn ngữ cần phải biết nhiều ngôn ngữ, mở rộng phạm (dịch / vi người dùng nhiều quốc gia khác giọng nói) Multi agent Dynamic agent 51 Trong tương lai chạy multi agent lúc Có agent queue để build vào queue chạy nhiều nhất giúp tiết kiệm thời gian cho người dùng ... đó, nên nhóm định thực đề tài ? ?Xây dựng Dịch vụ đám mây hỗ trợ developer xây dựng ứng dụng di động? ?? nhằm giúp developer đội phát triển phần mềm vừa nhỏ build ứng dụng với vài thao tác đơn giản,... tài Đề tài: “DỊCH VỤ ĐÁM MÂY HỖ TRỢ DEVELOPER XÂY DỰNG ỨNG DỤNG DI ĐỘNG ” 01.02 Lý chọn đề tài Hiện công ty phần mềm kích cỡ ngày phát triển linh động mặt cơng nghệ Bên cạnh việc ứng dụng DevOps... mây hỗ trợ developer xây dựng ứng dụng di động: Là hệ thống hỗ trợ developer giai đoạn build ứng dụng Thay sau phát triển xong developer phải sử dụng máy họ để build ứng dụng sẽ rất tốn thời

Ngày đăng: 05/09/2021, 20:45

Hình ảnh liên quan

phần cơ bản (Hình vẽ) - DỊCH vụ đám mây hỗ TRỢ DEVELOPER xây DỰNG ỨNG DỤNG DI ĐỘNG

ph.

ần cơ bản (Hình vẽ) Xem tại trang 9 của tài liệu.
Description: End user có nhu cầu re-build ứng dụng hay tái sử dụng cấu hình - DỊCH vụ đám mây hỗ TRỢ DEVELOPER xây DỰNG ỨNG DỤNG DI ĐỘNG

escription.

End user có nhu cầu re-build ứng dụng hay tái sử dụng cấu hình Xem tại trang 36 của tài liệu.
Normal Flow: 1.Vào màn hình chính - DỊCH vụ đám mây hỗ TRỢ DEVELOPER xây DỰNG ỨNG DỤNG DI ĐỘNG

ormal.

Flow: 1.Vào màn hình chính Xem tại trang 37 của tài liệu.
Normal Flow: 1.Vào màn hình chính - DỊCH vụ đám mây hỗ TRỢ DEVELOPER xây DỰNG ỨNG DỤNG DI ĐỘNG

ormal.

Flow: 1.Vào màn hình chính Xem tại trang 38 của tài liệu.
4.Cấu hình build như bình thường => Build xong 5. Gửi email thông báo  - DỊCH vụ đám mây hỗ TRỢ DEVELOPER xây DỰNG ỨNG DỤNG DI ĐỘNG

4..

Cấu hình build như bình thường => Build xong 5. Gửi email thông báo Xem tại trang 38 của tài liệu.

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan