Phát triển các ứng dụng web là một bài tập thú vị, vì nó liên quan đến những thách thức mới giúp chúng ta có được kinh nghiệm và học hỏi quý báu. Nỗi đau thực sự xảy ra khi nhà phát triển tiếp cận triển khai PHP trên máy chủ. Bạn có thể nhận thấy trong một cơ quan phát triển phần mềm rằng họ mất vài tuần để phát triển một ứng dụng duy nhất
Nhưng ngay khi họ sẵn sàng triển khai, sự lo lắng bắt đầu chiếm ưu thế. Chẳng hạn, khi một tổ chức cần di chuyển trang web một cách trơn tru trên các máy chủ sản xuất, đôi khi, kích thước của ứng dụng với cơ sở dữ liệu khá lớn nên phải mất thời gian để chuyển tất cả các tệp sang máy chủ lưu trữ web PHP trực tiếp
Đối với cơ sở dữ liệu, bạn phải hết sức tỉnh táo, nếu không, nó có thể gây ra sự cố nếu không được chuyển đúng cách
Các nhà phát triển sử dụng các chiến thuật khác nhau để triển khai các ứng dụng từ máy chủ PHP cục bộ đến trực tiếp]. Nếu trang web của bạn chứa ít tệp hơn, thì bạn có thể dễ dàng triển khai thủ công
Không gì dễ dàng bằng việc triển khai các ứng dụng PHP trên đám mây
Với Cloudways, bạn có thể thiết lập và chạy các ứng dụng PHP của mình trên các máy chủ đám mây được quản lý chỉ trong vài phút
Tuy nhiên, điều gì sẽ xảy ra nếu bạn đang triển khai một số lượng lớn tệp có chứa dev, configs, asset, v.v. Các nhà phát triển có xu hướng thích sử dụng các phương pháp hay nhất để triển khai ứng dụng PHP mà họ có thể triển khai các ứng dụng PHP, kiểm tra và theo dõi nhật ký lỗi PHP của các lỗi có thể xảy ra
Cloudways cung cấp một chức năng mượt mà để triển khai các ứng dụng PHP bao gồm cài đặt ứng dụng chỉ bằng một cú nhấp chuột cho PHP, Laravel và các ứng dụng khác. Bạn chỉ cần đăng ký và khởi chạy máy chủ của mình cùng với [các] ứng dụng mong muốn. Ngoài ra còn có các cách khác để triển khai các ứng dụng PHP và tự động hóa quy trình bằng các dịch vụ của bên thứ ba như
- GitHub
- phái viên
- DeployBot
- Triển khaiHQ
Trong bài viết này, tôi sẽ đề cập đến các dịch vụ trên và sẽ triển khai ứng dụng PHP trên Cloudways. Các dịch vụ này sẽ giúp bạn tự động hóa quy trình triển khai ngay cả khi bạn không biết nhiều về Circleci và Travis CI
Ưu điểm lớn nhất là bạn không bị giới hạn triển khai một lần, thay vào đó bạn có thể kết nối máy chủ với ứng dụng mọi lúc và chỉ cần đẩy mã cập nhật để triển khai trong vòng vài phút
Hãy bắt đầu với GitHub
GitHub
Nếu bạn là lập trình viên thì bạn phải biết về Git để quản lý mã nguồn. Các nhà phát triển sử dụng GitHub khi tương tác với nhiều thành viên trong nhóm và những người đóng góp nguồn mở để phát triển các giải pháp mã hóa. Tôi đã viết một loạt bài ngắn về Git dành cho người mới bắt đầu bao gồm, lệnh cheat sheet, Nhánh, Xung đột, v.v.
Điều tốt nhất về Git là nó cho phép các nhà phát triển tạo các quy trình công việc tùy chỉnh theo cách thủ công hoặc bằng cách tích hợp các công cụ triển khai PHP của bên thứ ba
Cloudways cho phép bạn triển khai mã của ứng dụng từ kho Git của bạn. Kho lưu trữ Git của bạn phải hỗ trợ Git qua SSH để điều này hoạt động. Để triển khai Git, bạn phải làm theo các bước đơn giản dưới đây
Đăng ký & khởi chạy máy chủ
Trước hết, hãy đăng ký tại Cloudways và khởi chạy máy chủ và ứng dụng của bạn. Tiếp theo, di chuyển đến tab Ứng dụng bằng cách chọn bất kỳ ứng dụng nào từ trang ứng dụng
Tạo khóa SSH
Tại đây, bạn phải tải xuống các khóa SSH bằng cách di chuyển đến tab Triển khai qua Git,
Chúng tôi sẽ sử dụng các khóa này để cho phép truy cập từ máy chủ Cloudways đến kho lưu trữ git của bạn. Bây giờ hãy nhấp vào nút Tạo khóa SSH để tạo khóa
Bây giờ, hãy nhấp vào Tải xuống Khóa SSH để tải xuống Khóa công khai SSH mà chúng tôi sẽ sử dụng trong bước tiếp theo
Tải khóa SSH lên kho lưu trữ GitHub
Trên Github, điều hướng đến kho lưu trữ và tìm mã mà bạn muốn triển khai. Nếu bạn đang sử dụng một dịch vụ Git khác, bạn sẽ phải tìm cách triển khai chúng tương đương. Vào Settings -> Deploy keys và click vào nút Add Deploy Key để thêm SSH key. Bạn cũng có thể đặt tên cho khóa này trong trường tiêu đề và sao chép khóa vào hộp. Nhấp vào nút Thêm khóa để lưu khóa SSH
Sao chép địa chỉ SSH của kho lưu trữ
Sao chép địa chỉ kho lưu trữ như trong hình bên dưới. Đảm bảo sao chép địa chỉ SSH vì các định dạng khác [như HTTPS] không được hỗ trợ
Triển khai mã từ kho lưu trữ của bạn
- Quay lại bảng điều khiển Cloudways. Dán địa chỉ SSH bạn có ở Bước 4 vào trường Git Remote Address ”
- Chọn nhánh của kho lưu trữ mà bạn muốn triển khai từ đó. Trong ví dụ này, chúng tôi đang sử dụng nhánh master
- Nhập đường dẫn triển khai [i. e. thư mục trong máy chủ của bạn, nơi mã sẽ được triển khai]. Đảm bảo kết thúc bằng dấu gạch chéo ngược [/]. Nếu bạn để trống trường này, mã sẽ được triển khai tới public_html/
- Nhấp vào nút Bắt đầu triển khai để triển khai mã của bạn theo đường dẫn đã chọn
Kho lưu trữ được nhân bản thành công
Bạn sẽ nhận được thông báo sau khi quá trình triển khai kết thúc
Bạn có các tùy chọn khác để xóa kho lưu trữ khỏi máy chủ [không có tệp nào bị xóa, xem Câu hỏi thường gặp bên dưới]. Kéo các thay đổi mới nhất hoặc thay đổi nhánh bạn triển khai từ đó
Triển khaiHQ
DeployHQ là một công cụ triển khai PHP tuyệt vời để tự động hóa việc triển khai của bạn từ kho lưu trữ mã Git, Mercurial và Subversion. Triển khai dựa trên Git hiện đang trở thành tiêu chuẩn thực tế trong bất kỳ cơ quan phát triển tốt nào. Điều này làm cho cuộc sống trở nên dễ dàng vì nó giảm rắc rối khi tải lên và tải xuống các tệp nguồn
Trong bài đăng này, tôi sẽ mô tả cách bạn có thể tích hợp DeployHQ với ứng dụng web mà bạn đã lưu trữ trên Cloudways. Sự tích hợp này sẽ đảm bảo việc triển khai mã khi đang di chuyển. Với môi trường thân thiện với dàn dựng của Cloudways, các nhà phát triển có thể thử nghiệm mã của họ nhiều như họ muốn
Vì vậy, đây là các bước
Tạo tài khoản DeployHQ
Đăng ký tài khoản trên DeployHQ. [Bạn có thể sử dụng tài khoản miễn phí này cho một dự án và 10 lần triển khai mỗi ngày]
Tạo một dự án mới trong DeployHQ
Bạn sẽ cần tạo một dự án để bắt đầu quá trình triển khai của mình
Kết nối DeployHQ với kho mã của bạn
Nhập thông tin chi tiết về kho lưu trữ mã của bạn [hoặc “mã repo”]. DeployHQ có hỗ trợ vượt trội cho các trang web lưu trữ mã phổ biến, như Github, Bitbucket, v.v.
Thêm đường dẫn của kho lưu trữ Github
Để bắt đầu triển khai, bạn cần thêm đường dẫn kho lưu trữ từ GitHub như thế này
Cấu hình máy chủ
Chọn SSH/SFTP làm giao thức
Sau đó, điền vào Cấu hình SSH
Ví dụ: bạn có thể cần thay đổi nhánh từ nhánh chính sang bất kỳ nhánh nào khác mà bạn muốn triển khai từ đó
Bây giờ, hãy nhấp vào “Lưu”. Bạn đã cấu hình thành công máy chủ của mình
Nhấp vào “Triển khai ngay”. Trên màn hình triển khai, bạn có thể nhấp vào nút “Triển khai” để bắt đầu quá trình triển khai ngay lập tức
DeployBot
Đối với các nhóm phát triển phần mềm, việc triển khai tự động đã trở nên bắt buộc đối với quy trình. Triển khai thủ công dễ bị lỗi. Chúng hút cạn năng lượng và công sức của các thành viên trong nhóm
Bất kỳ nền tảng lưu trữ đám mây được quản lý nào tuyên bố là giải pháp chất lượng cao đều phải cung cấp khả năng tự động triển khai. Đây là lý do tại sao Cloudways thực hiện chính xác điều đó. Trước đó, tôi đã giải thích cách tự động triển khai bằng DeployHQ
Bạn cũng có thể tự động triển khai bằng cách sử dụng DeployBOT [hoặc dploy. i]
Triển khai sử dụng DeployBOT
DeployBot là một công cụ triển khai PHP kết nối kho lưu trữ mã của bạn với máy chủ của bạn. Trong bài viết này, tôi sẽ mô tả cách bạn có thể triển khai mã của mình trên máy chủ Cloudways bằng DeployBot
Tạo tài khoản DeployBot
Bạn có thể tạo một tài khoản miễn phí mà bạn có thể sử dụng cho một kho lưu trữ duy nhất
Kết nối một kho lưu trữ
DeployBot có hỗ trợ vượt trội cho GitHub và BitBucket, nhưng bạn cũng có thể kết nối với các kho lưu trữ khác
Cấu hình môi trường
Theo mặc định, việc triển khai sẽ là thủ công. Tuy nhiên, bạn có thể thay đổi nó thành 'tự động' để bắt đầu triển khai bất cứ khi nào có thay đổi trong repo của bạn. Bạn cũng có thể cần thay đổi 'master' thành nhánh mong muốn mà bạn muốn sử dụng
Cấu hình máy chủ
Chọn SFTP trong phần Tệp
Bạn có thể lấy thông tin đăng nhập từ phần Thông tin xác thực chính trong Bảng điều khiển máy chủ Cloudways
Nhập SFTP vào DeployBot
Điều hướng đến Bảng điều khiển và nhấp vào “Triển khai”. Sau đó, trên màn hình triển khai, nhấp vào “Bắt đầu triển khai”
Ghi chú. Bạn có thể nhấp vào nút “Xem trước tệp sẽ được triển khai” để xem tệp nào sẽ thay đổi [hoặc bị xóa] khi triển khai, vì mọi thay đổi thủ công được thực hiện trước đó trên SFTP sẽ bị ghi đè
phái viên
Envoyer là một công cụ triển khai PHP khác giúp triển khai các ứng dụng web trên nền tảng lưu trữ. Điều tốt nhất về công cụ triển khai PHP này là không có thời gian ngừng hoạt động trong quá trình triển khai. Điều này có nghĩa là ứng dụng của bạn và khách hàng sử dụng nó thậm chí không biết rằng một phiên bản mới đã được đẩy lên
Envoyer hoạt động tốt với các nền tảng quản lý kho chính như GitLab và Bitbucket. Các lợi ích khác bao gồm triển khai không giới hạn và các thành viên trong nhóm
Blog sau đây sẽ hướng dẫn bạn quy trình triển khai ứng dụng trên Cloudways bằng Envoyer
Tạo tài khoản Envoyer và thêm một dự án
Tạo tài khoản Envoyer và đăng nhập. Tiếp theo, thêm một dự án mới
Kết nối với Kho lưu trữ
Tiếp theo, kết nối kho lưu trữ của bạn. Điểm hay của Envoyer là bạn có thể lưu trữ kho lưu trữ này trên bất kỳ nền tảng nào bao gồm Github, Bitbucket hoặc bất kỳ kho lưu trữ tự lưu trữ nào khác
Thêm máy chủ
Bước tiếp theo là tích hợp máy chủ Cloudways. Đối với điều này, hãy điều hướng đến Tab Máy chủ và nhấp vào nút Thêm Máy chủ
Tiếp theo, đăng nhập vào tài khoản Cloudways của bạn và nhận thông tin đăng nhập từ phần Thông tin đăng nhập chính để thêm máy chủ
Điền vào tất cả các trường bắt buộc và nhập đường dẫn đầy đủ của ứng dụng Cloudways của bạn và lưu máy chủ
Sau khi lưu máy chủ, bạn sẽ nhận được khóa SSH
Sao chép khóa và chuyển đến Bảng điều khiển Cloudways của bạn. Nhấp vào nút 'Khóa công khai SSH'. Đặt nhãn cho khóa của bạn và nhấp vào Gửi
Sau khi thêm khóa SSH, bạn sẽ có thể kết nối với máy chủ của mình. Nhấp vào nút Làm mới nhỏ để kiểm tra trạng thái kết nối
Envoyer cho phép bạn quản lý môi trường của mình. Nhấp vào Quản lý môi trường và nhập khóa SSH. Giờ đây, bạn có thể đặt nội dung của môi trường của mình
Triển khai cuối cùng
Tại thời điểm này, mọi thứ đã được thiết lập chính xác. Bước cuối cùng là nhấp vào nút Triển khai để triển khai dự án thực tế. Bạn cũng có thể triển khai các ứng dụng qua Git Push bằng cách chọn tùy chọn 'Triển khai khi mã được đẩy' trong cài đặt
Envoyer sẽ hỏi bạn từ chi nhánh hoặc thẻ nào bạn cần triển khai mã ứng dụng. Tôi đã chọn Nhánh mặc định, cũng là nhánh chính
Nhấn nút Triển khai ngay bây giờ. Bạn có thể xem quá trình triển khai trong tab triển khai. Bạn có thể nhận thêm thông tin liên quan đến triển khai bằng cách nhấp vào nút mũi tên bên cạnh trạng thái triển khai
Bạn có thể thấy rõ rằng Envoyer mất rất ít thời gian để triển khai ứng dụng trên máy chủ của bạn
Thư mục triển khai trên Cloudways
Sau khi triển khai, hãy đăng nhập vào thiết bị đầu cuối SSH trên Cloudways và điều hướng đến thư mục ứng dụng của bạn. Bạn sẽ tìm thấy hai thư mục, hiện tại và bản phát hành
Thư mục hiện tại chứa ứng dụng chính đang được phát triển và thư mục phát hành chứa thư mục phát hành trước đó, được đặt tên theo ngày và thời gian triển khai
Bạn có thể kiểm tra trạng thái đơn đăng ký của mình từ ba địa điểm [New York, London, Singapore]. Trong trường hợp xảy ra thảm họa, bạn có tùy chọn khôi phục triển khai hiện tại. Đối với điều này, hãy bật tùy chọn bằng cách cung cấp URL kiểm tra tình trạng trong cài đặt. Ngoài ra, bạn có thể thiết lập nhịp tim để theo dõi các công việc CRON cho ứng dụng của mình. Bạn cũng có thể thiết lập kênh thông báo như Slack hoặc Hipchat để nhận các thông báo liên quan đến triển khai
Từ cuối cùng
Bây giờ bạn đã học được nhiều cách để triển khai [các] ứng dụng PHP trên Cloudways, giờ đây bạn có thể kiểm tra chúng bằng cách tạo tài khoản trên Cloudways và các dịch vụ được kết nối khác. Một quy trình triển khai tốt luôn giúp bạn tạo các ứng dụng web một cách suôn sẻ. Bạn không cần đẩy các tệp riêng lẻ sau mỗi lần cập nhật
Tôi hy vọng bạn phải thích các phương pháp mà tôi đã trình bày chi tiết trong bài viết này. Nếu bạn đã phát triển bất kỳ phương pháp hoặc công cụ triển khai PHP nào khác, vui lòng chia sẻ các đề xuất và ý kiến có giá trị của bạn trong phần nhận xét bên dưới. Tôi cũng sẽ kiểm tra chúng và sẽ thêm vào bài viết này