Từ máy cá nhân lên VPS: lộ trình chuyển môi trường dev không gãy việc

Chia sẻ bài viết

Mục lục
Từ máy cá nhân lên VPS: lộ trình chuyển môi trường dev không gãy việc

Trả lời nhanh: Sáu bước theo thứ tự an toàn: dựng máy và cài môi trường cơ bản, đưa mã nguồn lên qua kho lưu trữ, dựng lại database từ bản xuất, cấu hình biến môi trường và khoá bí mật, kết nối công cụ soạn thảo từ xa, và chạy song song vài ngày trước khi bỏ hẳn môi trường cũ. Nguyên tắc quan trọng nhất là bước cuối: đừng xoá môi trường trên máy cá nhân cho tới khi chắc chắn mọi thứ trên máy chủ chạy đúng.

Chuyển môi trường giữa lúc đang có việc gấp là công thức của một ngày tệ. Làm theo thứ tự thì việc này nhẹ nhàng và không ai phải chờ.

Tóm tắt nhanh
  • Chạy song song vài ngày, đừng cắt cầu ngay.
  • Mã nguồn đi qua kho lưu trữ, đừng chép tay.
  • Khoá bí mật không bao giờ chép qua kênh chat.
  • Ghi lại các bước cài đặt để lần sau dựng máy mới mất mười phút.

Sáu bước theo thứ tự

1. Dựng máy và môi trường cơ bản

Cài đúng phiên bản ngôn ngữ và công cụ giống máy cũ. Khác phiên bản là nguồn gốc của những lỗi rất khó hiểu về sau.

2. Đưa mã nguồn lên

Qua kho lưu trữ, không chép tay. Chép tay dễ sót file cấu hình ẩn và bạn sẽ mất cả buổi để tìm ra.

3. Dựng lại database

Xuất từ máy cũ rồi nạp vào máy mới. Với dữ liệu thật có thông tin cá nhân, cân nhắc dùng dữ liệu giả cho môi trường phát triển.

4. Cấu hình biến môi trường

Khoá bí mật nhập trực tiếp trên máy chủ, không gửi qua kênh chat và không đưa vào kho mã nguồn.

5. Kết nối công cụ soạn thảo

Dùng chế độ làm việc từ xa để trải nghiệm gần như đang sửa trên máy mình.

6. Chạy song song

Vài ngày dùng máy mới nhưng vẫn giữ môi trường cũ. Chắc chắn rồi mới dọn.

Những thứ hay quên

  • File cấu hình ẩn không nằm trong kho mã nguồn.
  • Chứng chỉ và khoá dùng cho môi trường phát triển.
  • Các công việc chạy theo lịch trên máy cũ.
  • Cài đặt của trình soạn thảo và các phần mở rộng.
  • File dữ liệu mẫu dùng khi chạy test.

Cách đơn giản để không quên: trước khi dọn máy cũ, thử làm trọn một tính năng từ đầu tới cuối trên máy mới. Thiếu gì sẽ lộ ra ngay.

Ghi lại để lần sau nhanh hơn

Vừa cài vừa ghi lại từng lệnh vào một file. Lần sau dựng máy mới, chạy lại file đó là xong trong mười phút thay vì mò lại từ đầu.

Nâng cao hơn thì đóng gói môi trường vào container, khi đó việc dựng lại chỉ là một lệnh và bạn chắc chắn môi trường giống hệt nhau.

Chọn cấu hình cho máy mới

Đừng đoán. Chạy trên máy cũ vào lúc làm việc nặng nhất:

free -h
top
df -h

Lấy mức dùng đỉnh rồi cộng khoảng ba mươi phần trăm dự phòng. Riêng ổ thì nên chọn NVMe bất kể quy mô, vì phần lớn thời gian chờ trong công việc phát triển nằm ở đọc ghi file nhỏ.

Khóa cửa máy chủ trước khi đưa mã lên

  1. Dựng máy và khóa cửa trước khi đưa gì lên: chỉ đăng nhập bằng khóa, tắt đăng nhập mật khẩu, bật tường lửa, chỉ mở cổng cần.
  2. Cài bộ công cụ cơ bản và bộ ghép màn hình, để phiên làm việc không chết theo kết nối.
  3. Chuyển một dự án nhỏ lên trước, làm việc thật trên đó vài ngày. Đừng chuyển hết ngay.
  4. Nối trình soạn thảo từ máy cá nhân vào máy chủ, giữ giao diện ở máy mình và phần nặng ở máy chủ.
  5. Chuyển các dự án còn lại, và dựng cơ sở dữ liệu phát triển trên máy chủ.
  6. Dựng sao lưu và giám sát, rồi mới coi là xong.

Bước ba là bước quyết định thành bại: chuyển toàn bộ trong một ngày rồi phát hiện thiếu công cụ là mất cả tuần làm việc. Một dự án nhỏ trong vài ngày lộ ra gần hết những gì còn thiếu.

Bảng những thứ hay bỏ sót khi chuyển

ThứVì sao quênXử thế nào
Biến môi trường và tệp cấu hình cục bộNằm ngoài kho mã nguồnLiệt kê trước, chuyển tay và ghi lại
Khóa truy cập các dịch vụ ngoàiNằm trong tệp không đẩy lên khoChuyển an toàn, đừng dán qua chat
Dữ liệu mẫu trong cơ sở dữ liệu cục bộKhông ai nghĩ tới cho tới khi cầnKết xuất và nạp lên máy chủ
Cấu hình trình soạn thảo và phần mở rộngQuen tay nên không để ýBật đồng bộ cấu hình của trình soạn thảo
Tệp không nằm trong kho mã: ảnh, tài liệu, ghi chúNằm rải rác trên máyRà thư mục dự án trước khi chuyển

Viết tệp lệnh dựng máy dùng lại được

# Viet mot tep lenh dung may, chay lai duoc tren may moi bat ky
cat > /root/dung-may.sh <<'SH'
#!/bin/bash
set -euo pipefail
apt update && apt install -y git tmux curl build-essential fio sysbench
# them nguoi dung, dat khoa, tat dang nhap mat khau
# cai bo cong cu ngon ngu can dung
# dat vung nho tam
fallocate -l 4G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
SH
chmod +x /root/dung-may.sh

# Luu tep nay vao kho ma nguon rieng
# Lan sau doi may chu hoac them may cho dong nghiep: chay mot lenh

Cấu hình gợi ý theo quy mô nằm ở bài bộ công cụ chạy ở máy hay trên VPS.

Câu hỏi thường gặp

Chuyển môi trường mất bao lâu?

Dự án vừa thường một buổi cho các bước chính, cộng vài ngày chạy song song để chắc chắn.

Có nên xoá môi trường cũ ngay không?

Không. Giữ ít nhất một tuần sau khi máy mới chạy ổn, phòng trường hợp phát hiện thiếu thứ gì đó.

Khoá bí mật chuyển thế nào cho an toàn?

Nhập trực tiếp trên máy chủ, không gửi qua kênh chat và không đưa vào kho mã nguồn. Nếu nghi ngờ đã lộ thì tạo khoá mới.

Nên chọn cấu hình máy mới thế nào?

Đo mức dùng đỉnh trên máy cũ rồi cộng khoảng ba mươi phần trăm dự phòng. Ổ nên chọn NVMe vì đó là nơi thời gian chờ tích tụ.

Hạ tầng NVMe Enterprise của TND
VPS ổ Enterprise U.2 NVMe, CPU xung cao, đặt tại Việt Nam
Truy vấn SQL, PHP dựng trang, build Next.js hay đóng gói app iOS và Android: phần lớn các bước này chạy đơn luồng và đập liên tục vào ổ đĩa. Nghẽn nằm ở tốc độ đọc ghi và xung nhịp CPU, không phải ở việc có thật nhiều nhân. Ổ Enterprise U.2 NVMe chuẩn máy chủ chạy RAID 10 cho IOPS đọc ghi ngẫu nhiên gấp 5 đến 7 lần ổ SATA SSD, khác hẳn NVMe M.2 phổ thông. Chạy trên chip Intel Xeon Platinum dòng xung cao, backup tự động hàng tuần, bàn giao trong 5 phút.
Xem VPS Enterprise U.2 NVMe RAID 10, CPU xung cao

Bài viết liên quan