Tôi quan tâm đến việc tìm hiểu cách mọi người triển khai ứng dụng CakePHP của họ. Gần đây tôi đã được tiếp cận về việc thực hiện một số phát triển CakePHP tự do, đây sẽ là cơ hội tốt để tôi có được một số kinh nghiệm trong tầng thuyết trình (trong công việc FT của tôi, tôi phát triển Java EE trong các tầng lớp kinh doanh và lâu dài).Triển khai ứng dụng CakePHP
những suy nghĩ của tôi là một chút disorganized vào thời điểm này, nhưng tôi đang xem xét các tình huống sau:
Developer làm việc trong một IDE sẽ thay đổi một tập tin, đó là tự động (nền) đồng bộ với một phát triển máy chủ web chạy cục bộ. Kịch bản này là cách tôi lý tưởng muốn phát triển ... thực hiện thay đổi và có thể thấy thay đổi trong hành động mà không cần thêm bất kỳ bước nào.
Nhà phát triển làm việc trong IDE sửa đổi tệp, được đồng bộ hóa tự động (trong nền) qua FTP với máy chủ web phát triển chạy từ xa. Kịch bản này sẽ hữu ích khi tôi đang đi du lịch bằng cách sử dụng netbook của tôi (mà chạy IDE của tôi từ từ đủ vì nó là không có một máy chủ web trong hỗn hợp).
- Quản trị viên triển khai phiên bản ứng dụng CakePHP mới nhất từ kho lưu trữ mã nguồn đến máy chủ web chạy cục bộ.
- Quản trị viên triển khai phiên bản ứng dụng CakePHP mới nhất từ kho lưu trữ mã nguồn đến máy chủ web qua FTP.
- Quản trị viên triển khai phiên bản ứng dụng CakePHP cũ hơn từ kho lưu trữ mã nguồn đến máy chủ web chạy cục bộ.
- Quản trị viên triển khai phiên bản ứng dụng CakePHP cũ hơn từ kho lưu trữ mã nguồn đến máy chủ web qua FTP.
Các công cụ phát triển mà tôi thấy thoải mái nhất là Eclipse, Ant và Subversion. Sở thích của tôi là tiếp tục sử dụng chúng, nhưng tôi sẽ xem xét chuyển đổi nếu làm như vậy làm cho nó dễ dàng để đạt được các kịch bản.
Câu hỏi:
- Là những kịch bản hợp lý, hoặc nên tôi cần phải suy nghĩ về việc phát triển và triển khai theo một cách khác?
- Công cụ nào tồn tại có thể giúp đơn giản hóa việc phát triển/triển khai? Nó sẽ tốt hơn cho tôi để cuộn giải pháp của riêng tôi với Ant, kịch bản, v.v ...?
- Làm cách nào để chúng tôi xử lý các vấn đề về cơ sở dữ liệu trong quá trình triển khai? Các thuộc tính kết nối cơ sở dữ liệu được chỉ định cho một triển khai cụ thể như thế nào? Điều gì xảy ra nếu cập nhật lên phiên bản mới hơn (hoặc hoàn nguyên về phiên bản cũ hơn) của ứng dụng CakePHP yêu cầu thay đổi lược đồ cơ sở dữ liệu và di chuyển dữ liệu?
- Làm cách nào để chúng tôi định cấu hình các thuộc tính khác nhau giữa các lần triển khai? Ví dụ, xem xét tăng mức độ gỡ lỗi và ghi nhật ký được sử dụng trong quá trình phát triển, ngăn không cho thanh toán được gửi đến các cổng thanh toán trong quá trình phát triển, v.v.
- Việc nâng cấp hoặc hoàn nguyên triển khai ảnh hưởng đến khách hàng như thế nào? Ví dụ: nếu chúng ở giữa giao dịch (ví dụ: mua sản phẩm)?
- Làm cách nào để chúng tôi xử lý các loại cài đặt CakePHP khác nhau? Các tệp có thể cần được cài đặt ở các vị trí khác nhau tùy thuộc vào loại cài đặt. Làm thế nào chúng ta có thể biết nơi tập tin nên được cài đặt? Cuốn sách CakePHP mô tả phát triển, sản xuất và cài đặt nâng cao.
Xin lỗi vì có quá nhiều câu hỏi trong một bài đăng nhưng tôi nghĩ rằng tất cả các câu hỏi đều có liên quan và nghĩ rằng sẽ hữu ích khi duy trì cuộc thảo luận ở một nơi.
Kịch bản di chuyển DB thay thế có thể tìm thấy tại đây: http://stackoverflow.com/questions/2522372/good-db-migrations-for-cakephp – deizel