Có rất nhiều điều bạn có thể làm để cải thiện quy trình triển khai của mình. Một vài trong số đó là:
Đảm bảo mã của bạn được kiểm tra tốt.
Tốt nhất bạn nên có phạm vi kiểm tra đơn vị 100%, cũng như kiểm tra tích hợp cho mọi kịch bản có thể hiểu được.
Nếu bạn chưa có thứ này, có lẽ bạn nên bỏ mọi thứ và chăm sóc nó.
Nhìn vào sự phát triển theo hành vi.
Có một bộ kiểm tra hoàn chỉnh sẽ cho phép bạn ...
Chạy tích hợp liên tục.
Bất cứ khi nào ai đó thực hiện thay đổi, CI có thể tự động chạy bộ thử nghiệm trên đó. Nếu bộ kiểm tra vượt qua, thì nó có thể triển khai ngay lập tức (hoặc lên lịch triển khai). Đối với những thay đổi không yêu cầu bất kỳ thay đổi đáng kể nào đối với cơ sở dữ liệu của bạn, việc này một mình sẽ giúp bạn tiết kiệm rất nhiều thời gian và đau đầu.
Trong trường hợp có vấn đề, CI cũng có thể cung cấp cho bạn rollback một lần nhấp.
CI là nhiều ít hữu ích nếu bộ kiểm tra của bạn là không đầy đủ và chính xác, như toàn bộ đang gánh tiền đề về việc có thể để xác nhận mã của bạn một cách tự động.
Thực hiện cập nhật nguyên tử.
Lý tưởng nhất là bạn không nên sao chép các tệp mới trên tệp cũ trên máy chủ sản xuất. Thay vào đó, sử dụng một công cụ như capistrano, sao chép mọi tệp vào một vị trí mới, sau đó sử dụng một liên kết tượng trưng để trỏ đến triển khai mong muốn. Quay trở lại là tức thời vì nó chỉ đơn giản là thay đổi liên kết tượng trưng để trỏ đến triển khai trước đó. (Mặc dù điều này không nhất thiết bao gồm di chuyển cơ sở dữ liệu của bạn.)
Cũng xem xét liệu các container như Docker có thể giúp bạn.
Thực hiện các thay đổi nhỏ hơn, thường xuyên hơn.
Cho dù bạn có xét nghiệm, CI, hoặc không có gì, điều này một mình có thể giúp bạn đáng kể. Mỗi thay đổi nên có nhánh git riêng và việc triển khai nên có càng ít thay đổi càng tốt. Bởi vì các thay đổi nhỏ hơn, có ít khả năng xảy ra lỗi trong quá trình triển khai.
Trên lưu ý đó, thực hiện các thay đổi cô lập hơn bất cứ khi nào có thể. Nếu bạn đã thực hiện một thay đổi cho trò chơi Omaha và nó không ảnh hưởng đến Texas Hold'em, 5 thẻ bài hoặc bất cứ điều gì khác, thì đó là trò chơi duy nhất cần phải tạm dừng để bảo trì.
Phân tích bất cứ điều gì lâu dài.
Bạn đã đề cập đến một số phần của việc triển khai của bạn mất một thời gian dài. Đây có thể là thay đổi lược đồ cơ sở dữ liệu. Thật đáng để có một DBA nhìn vào cơ sở dữ liệu của bạn, cùng với mỗi thay đổi lược đồ, để xem những gì có thể hoạt động tốt hơn.
Có một chuyên gia về vấn đề nhìn vào bất kỳ phần nào khác của việc triển khai chiếm nhiều khối thời gian lớn.
Giờ làm việc lẻ.
Bạn có thể đã làm điều này, nhưng nó đề cập đến. Các nhà phát triển (và sysadins!) Sẽ không còn hoạt động "9 đến 5" nữa, đặc biệt là cho hoạt động 24x7. Nếu ai đó dự kiến sẽ dành hàng giờ để trông trẻ triển khai, khắc phục mọi sự cố và sau đó giữ một lịch trình ban ngày, thì những kỳ vọng của bạn là không thực tế, và bạn đang thiết lập người đó để kiệt sức.