Deploy App là gì

Xin chào! Mùa đông về thật rồi đấy nhỉ. Lại một tuần trôi qua, bạn đã học thêm được gì trong 7 ngày vừa qua? Tuần này, hãy cùng chúng mình kết thúc câu chuyện về Quy trình phát triển phần mềm qua bài viết dưới đây nhé

Menu

1. Các loại tài liệu cơ bản trong một dự án
2.Deploy là gì?
3.Phân biệt Build, Deploy và Release
4. Tài liệu thường dùng
4.1 Release note
4.2 Release checklist
5. Tổng kết

1. Các loại tài liệu cơ bản trong một dự án

Các loại tài liệu trong dựa án phát triển phần mềm

2.Deploy là gì?

Hình 1: Giai đoạn deploy trong quá trình phát triển phần mềm

Đây là giai đoạn cuối cùng trong quá trình phát triển phần mềm, sau khi đã viết code và thực hiện test hoàn chỉnh. Tại đây, developer sẽ thực hiện tập hợp lại các đoạn source code đã phát triển lại, sau đó dựng lên một chương trình hoàn thiện để có thể chạy được [Nếu là phát triển website thì sẽ dựng lên được trang web cho user nhìn thấy, nếu là app sẽ dựng lên app mà user có thể sử dụng/test được..]

Trong giai đoạn 実装[Implement], thành phẩm của chúng ta là những file code [thường được mở trên cái màn hình đen xì đó ^^]. Bằng cách chạy các file này, chúng mình sẽ có một hệ thống hoàn chỉnh được vận hành nhịp nhàng, từ các màn hình login đơn giản nhất cho đến những xử lý phức tạp như đặt phòng, tìm kiếm thông tin trên hệ thống.

Như trong bài về giai đoạn 実装[Implement] chúng mình đã giới thiệu, có những 5 môi trường khi phát triển phần mềm. Bạn còn nhớ không?

Hình 2: Các môi trường trong quá trình phát triển phần mềm

Sau khi kết thúc công việc ở môi trường này, cần phải đóng gói và vận chuyển các file chứa code nói trên đến môi trường tiếp theo để kiểm thử hoặc sử dụng. Chúng mình hiểu đơn giản, quá trình đóng gói và vận chuyển kia chính là thao tác Deploy đó.

Nói một cách chuyên môn hơn thì người ta sẽ upload file này lên Web server hoặc App server sau đó chạy file để người dùng có thể bắt đầu sử dụng.

Hãy cùng chúng mình xem một ví dụ nhảm nhí hơn về Deploy phiên bản Non-tech nhé.

Đây là Hade. Vui vẻ, yêu đời. Hadecó một tiệm trà sữa với doanh thu ngất ngưởng.

Hàng ngày Hadepha chế hàng ngàn cốc trà sữa đến to tay.

Rồi một ngày đẹp trời nọ

Hadeđã quá mệt mỏi với việc pha trà sữa. Hadecòn trẻ, Hadecũng muốn được đi zẩy đầm như bao bạn bè cùng chang lứa. Hadengày đêm trăn trở.

Và rồi, một ý tưởng chói lòa vụt qua. Hadesẽ tạo một chú robot thông minh giúp mình pha trà sữa. Tada! Chú robot màu hường này sẽ giúp Haderảnh tay đi zẩy đầm.

Giờ việc Hadecần làm chỉ là đưa chú robot đến đặt ở cửa hàng, vặn dây cót cho chú hoạt động. Sau đó Hadecứ đi zẩy đầm, cả thế giới để robot lo. Deploy chính là hành động đưa robot đến cửa hàng và khởi động để chú robot bắt tay vào làm việc đấy các bạn. Trong phát triển phần mềm, Deploy là hành động Đưa file chứa code đặt vào môi trường và chạy file đó.

Người ta có thể deploy một hệ thống hoàn toàn mới [chưa có user], hoặc deploy phiên bản mới của một hệ thống đang có người sử dụng rồi. Về cơ bản, khi deploy, hệ thống sẽ tạm dừng và phải khởi động lại server. Thời điểm này, người dùng sẽ không thể sử dụng được hệ thống, đây được gọi là downtime [ダウンタイム]. Điều này lý giải tại sao có những dự án yêu cầu các bạn developer phải mò mẫm deploy trong đêm, vì khi đó hệ thống có ít người sử dụng nhất, đảm bảo sẽ không gây nhiều ảnh hưởng đến vận hành của hệ thống.

3.Phân biệt Build, Deploy và Release

Hẳn sẽ có lần bạn đã nghe đến những thuật ngữ trên. Thực tế thì rất nhiều người nhầm lẫn 2 khái niệm Deploy và Release là một, thậm chí trong những ngày đầu tiên làm IT Comtor, bản thân TNMM cũng không hiểu mà chỉ dịch word-by-word mà thôi. Build thì là một khái niệm hơi ít nghe thấy, nhưng cũng nhiều developer không cắt nghĩa được.

Trước hết, cần hiểu rằng Build, Deploy và Release đều là các step cần làm để một hệ thống có thể được đi vào sử dụng. Điểm khác biệt nằm ở thời điểm thực hiện và nội dung thực hiện.

Build:Thực hiện trước khi Deploy. Tại step này, các file viết code sẽ được liên kết và tổng hợp [hay còn gọi là Đóng gói] vào một file gọi là 実行ファイル, ngoài ra một số cài đặt ban đầu phục vụ cho quá trình 実装cũng sẽ được gỡ bỏ để tạo ra được một gói code nhẹ hơn khi deploy.

Hình 3: Quá trình build

Deploy: Upload 実行ファイル lên môi trường vận hành và cài đặt để chạy hệ thống. Vì đây chỉ đơn giản là việc upload và cài đặt, thế nên trong hầu hết mọi trường hợp, end-user chưa thể truy cập để sử dụng hệ thống.

Hình 4: Quá trình deploy

Release: Một chuỗi các công việc để hệ thống có thể đi vào vận hành, trong đó bao gồm cả deploy. Sau khi release, end-user có thể truy cập để sử dụng hệ thống.

Hình 5: Quá trình release

Có 2 cách release, đó là bằng tool [Tự động] và bằng cơm[Ý là bằng tay người, vì người ăn cơm ^^, đây là từ lóng của các bạn dev]. Khi release bằng tool, bạn có thể trao toàn quyền cho tool, còn release bằng cơm thì sẽ phải tự chạy các câu lệnh ở các bước để đảm bảo quá trình release diễn ra đúng quy trình. Dù bằng cách nào, thì về cơ bản, các bước trong quá trình release như sau:

Hình 6: Giai đoạn release

4. Tài liệu thường dùng

Tài liệu thường được dùng trong giai đoạn này là release note và release check list.

Từng loại tài liệu này có ý nghĩa gì? các bạn hãy cùng xem giải thích và ví dụ sau nhé.

4.1 Release note

Mục đích: Miêu tả các đặc điểm của sản phẩm trong đợt release này/ mô tả những chức năng mới /Mô tả các bug được fix trong đợt release này

Ví dụ: Đây là release note của phần mềm chat Slack cho đợt release của version

Hình 7: Release note mà Slack đã dùng cho đợt release của version 3.3.7

4.2 Release checklist

Mục đích: Mô tả các nhiệm vụ cần làm đủ trước khi release cho khách, để sao cho sản phẩm cuối cùng đến tay khách hàng sẽ không còn lỗi nào.

Ví dụ:

  • Kiểm tra xem code đã được review chéo giữa các dev chưa?
  • Dev đã thực hiện unit test xong chưa?
  • Còn bug nào của tester test ra mà chưa fix không?
  • Các bug được dev fix thì tester đã verify lại lần cuối là OK chưa?
  • ..

5. Tổng kết

Vậy là chúng ta đã tìm hiểu từng bước trong quá trình phát triển phần mềm, cũng như hiểu về các loại tài liệu cần thiết trong từng giai đoạn rồi. Hi vọng khi làm dự án và gặp lại các loại tài liệu này, các bạn sẽ đều hiểu các loại tài liệu đó đang muốn nói gì? và khi có vấn đề gì có thể dễ dàng trao đổi với các bạn developer hơn.

Bài sau TNMM sẽ giới thiệu với các bạn về các bạn về các loại Application trong thế giới Software, mong các bạn cùng đón đọc .

Tổng hợp: Loạt bài về IT cho người Non-tech

Bài 1: Quy trình phát triển phần mềm 誰でもわかるソフトウェア開発工程

Bài 2: Các tài liệu thường gặp trong dự án phát triển phần mềm Định nghĩa yêu cầu

Bài 3: Các tài liệu thường gặp trong dự án phát triển phần mềm Basic design

Bài 4: Các tài liệu thường gặp trong dự án phát triển phần mềm Detail design

Bài 5: Các tài liệu thường gặp trong dự án phát triển phần mềm Implement

Bài 6: Các tài liệu thường gặp trong dự án phát triển phần mềm Testing

Video liên quan

Chủ Đề