<aside> ©️

IT: Từ A tới Á cho người ngoài ngành by @Rose Trinh

</aside>

Build và Deploy: từ code thành sản phẩm tới tay người dùng | IT: Từ A tới Á cho người ngoài ngành by @Rose Trinh

Build và Deploy: từ code thành sản phẩm tới tay người dùng | IT: Từ A tới Á cho người ngoài ngành by @Rose Trinh

Code, như mình nói trong bài IDE, chỉ là chữ được viết theo một cấu trúc nhất định. Nằm yên trong file thì nó chưa làm được gì, giống công thức nấu ăn chưa ai nấu. Muốn thành sản phẩm người dùng xài được thì phải qua 2 bước: build và deploy.

Build (tạo chương trình có thể chạy được)

Build là biến code thành thứ chạy được: dịch (biên dịch) sang dạng máy hiểu, gom các thư viện cần thiết, nén và tối ưu, rồi đóng lại thành gói. "Dạng máy hiểu" tùy ngôn ngữ: C++ thì ra mã máy thật, Java thì ra bytecode cho máy ảo Java (JVM) chạy, còn JavaScript thì vẫn là JavaScript nhưng đã được gom lại, nén gọn.

Sau khi build thành công, bạn sẽ có một sản phẩm gần hoàn chỉnh có thể chạy trên máy tính hoặc trên server. Ví dụ về tệp đầu ra của quá trình build:

Ngoài ra giờ rất nhiều team đóng luôn cả app vào một Docker image (xem bài VM, container). Những thứ này sau đó sẽ được deploy lên server hoặc store.

Deploy (sao chép và chạy file trên máy)

Deploy là đưa kết quả build lên một môi trường và cho nó chạy, nôm na như copy file lên máy rồi bấm run. Ngày xưa làm tay thật, giờ phần lớn được tự động hóa bằng CI/CD.

Khi triển khai ứng dụng web và ứng dụng di động, có những khác biệt quan trọng trong quy trình deploy:

Deploy Web Applications:

Đưa kết quả build lên server của mình (máy thật hay máy ảo trên AWS, Google Cloud, Azure...), chạy lên là xong. Server do mình quản nên không phải xin phép ai, người dùng tải lại trang là thấy bản mới.

deploy-web.svg