Hotline : 07 088 44444
Thích
Chia sẻ

Hướng dẫn lưu trữ remote Git Repositories với cPanel

23/08/2021

Phần mềm Git là một công cụ linh hoạt, có thể được ứng dụng vào rất nhiều lĩnh vực khác nhau. Bài viết nãy sẽ tập trung đi vào việc quản lý và lưu trữ remote Git repositories với cPanel. Cụ thể bao gồm:

  • Cách tạo một Git repository trên server cPanel.
  • Clone repository và pull các thay đổi của code đến một máy develope cục bộ (local development machine).
  • Push những thay đổi của code vào lại server.
  • Dùng Git Management interface của cPanel để deploy một một trang vào sản xuất.

Sau bài viết này, Vietnix hi vọng các bạn sẽ có thể dễ dàng thực hiện việc lưu trữ remote Git repositories với cPanel.

Những điều kiện cần có khi lưu trữ remote Git repositories với cPanel

Trước khi bắt đầu, ta cần có:

  • Quyền truy cập SSH vào tài khoản cPanel.
  • Một tài khoản cPanel với công cụ Git Version Control – có sẵn ở trên cPanel v82.
luu-tru-remote-git-repositories-voi-cpanel
  • Một máy cục bộ để develop, có terminal và một SSH client, chẳng hạn như Windows Terminal hoặc Terminal.app trên macOS.
  • Cài đặt Git ở trên máy. Cách cài đặt Git cũng sẽ được hướng dẫn trong bài viết dưới đây.

Bên cạnh đó, để push code vào trong Git repository của server, ta cũng cần có một SSH key pair và public key ở trên server.

Tạo và upload SSH key cho Git

Đầu tiên, chúng ta sẽ dùng SSH để giao tiếp an toàn với các Git repository và SSH key. Đây cũng là một giải pháp thay thế an toàn hơn nhiều so với phương pháp sử dụng password để xác thực với server.

SSH key bao gồm một cặp public key và private key. Trong đó, private key được giữ ở trên máy cục bộ. Còn public key thì được upload lên server. Ta chỉ có thể xác thực bằng SSH trên server nếu có private key khớp với public key được upload này.

Bây giờ ta sẽ tạo một key pair trên máy cục bộ bằng OpenSSH, rồi dùng công cụ SSH Access của cPanel để upload public key. Tất nhiên là OpenSSH cần phải được cài đặt sẵn ở trên macOS và Linux.

Mở terminal rồi chạy lệnh sau:

ssh-keygen

Sau đó là chọn tên cho key pair và một passphrase. Nếu chọn passphrase, hãy đảm bảo bạn nhớ được nó, nếu không sẽ không thể sử dụng được các key.

Tiếp đến, mở directory chứa key pair, trong này có chứa một số file khác nữa. Tuy nhiên, ta chỉ cần chú ý đến file id_rsa.pub. Mở file này bằng một text editor rồi copy nội dung của file. Điều hướng đến trang SSH Access ở trong cPanel, nằm trong phần Security của menu chính.

Chọn Manage SSH Keys, Import Key.

luu-tru-remote-Git-repositories-voi-cpanel

Chọn tên cho key rồi dán public key vào trong phần text ở dưới. Sau đó, click vào Import.

luu-tru-remote-Git-repositories-voi-cpanel

Như vậy là ta tạo xong SSH key. Bây giờ bạn có thể thực hiện một số thao tác cơ bản trong lưu trữ remote git repositories với cPanel như clone, push, pull code,… Nhưng trước hết, hãy tạo một repository mới.

Tạo Git repository mới trên server

Remote Git repository là vị trí của code trang trong quá trình develop. Những người làm việc trên code có thể download từ trong repository, rồi upload những thay đổi lên đó. Git sẽ tự động merge những thay đổi này với code hiện có.

Dùng File Manager để tạo một directory mới ở trên server để lưu trữ các file develop. Lưu ý, không được sử dụng khoảng trắng ở trong tên của directory.

Mở interface Git Version Control của cPanel.

Click vào nút Create rồi nhập vị trí của project directory. Ngoài ra, ta cũng có thể đặt tên cho repository này. Hãy đảm bảo rằng Clone a repository switch không được kích hoạt. Cuối cùng, click vào nút Create ở cuối trang.

Sao chép Repository vào Local Development Machine

Để có thể sử dụng tính năng sao chép remote Git repositories với cPanel, trước hết ta cần clone nó để tạo một local repository. Việc clone sẽ tạo một bản sao hoàn chỉnh của repository đó. Tiếp đến, mở một terminal trên máy cục bộ rồi dùng lệnh cd để đi đến directory cần lưu trữ file.

Tiếp đến, chạy lệnh, thay thế username, domain và location bằng các thông tin tương ứng của remote repository và server.

git clone ssh://user1@example.com/home/user1/NewSiteDev

Sau đó, Git có thể cảnh báo rằng ta vừa clone một repository trống. Đừng lo lắng, ta sẽ khắc phục nó trong phần tiếp theo. Trước đó, hãy cùng đồng bộ hóa những thay đổi ở trong remote repository với môi trường cục bộ.

Tất nhiên, ta không nhất thiết phải clone cả repository của server mỗi khi có thay đổi nào đó. Ta chỉ cần chú ý đến những điểm khác biệt giữa bản sao của server và bản sao cục bộ. Để xem những thay đổi, dùng lệnh pull. Các lệnh Git được chạy từ bên trong của project directory.

git pull origin

Trong đó, “origin” có nghĩa là remote repository ở trên server. Ta nên pull từ remote bất cứ khi nào bắt đầu một phiên develop mới. Khi đó, ta sẽ luôn có được phiên bản mới nhất của code.

Đẩy các thay đổi cục bộ trở lại server

Tiếp đến, hãy tạo một file ở trên máy cục bộ rồi push nó trở lại server. Trong ví dụ này, Vietnix sẽ tạo một file index.html. Mở text editor bất kỳ để paste đoạn code HTML sau, rồi lưu vào trong project directory.

<!DOCTYPE html>
<html>
<head>
<title>New Site</title>
</head>
<body>
<h1>New Site Placeholder Page</h1>
<p>We'll use Git to push this file to our remote repository.</p>
</body>
</html>

Sau đó, stage một file mới để Git biết nên kèm theo file đó vào trong repository.

git add index.html

Commit thay đổi.

git commit

Git sau đó sẽ yêu cầu nhập một đoạn mô tả ngắn bằng terminal text editor mặc định. Nhập message, lưu file, rồi đóng editor lại. Nếu editor mặc định là Vim hay Vi, hãy nhấn “i” để truy cập insert mode, sau đó nhập message, nhấn escape rồi nhập “:wq”, cuối cùng là nhấn enter để hoàn tất.

Nhập lệnh sau để push local repository vào remote:

git push origin

Lệnh này sẽ gửi các thay đổi và merge nó với remote repository. Nếu có bất kỳ thay đổi nào ở trên remote kể từ lần pull cuối, Git sẽ không chấp nhận thao tác push. Khi đó, hãy pull lại lần nữa để có được phiên bản mới nhất.

Nếu quan sát project directory ở trong File Manager của cPanel một chút, ta sẽ thấy có một file HTML được tạo ở trên server.

Tự động triển khai mã để tạo chương trình với cPanel

Sau khi chỉnh sửa xong trang web mới, bước cuối cùng trong việc lưu trữ remote Git repository với cPanel là deploy trang vào sản xuất. Bạn có thể copy thủ công các file của trang vào trong public_HTML. Tuy nhiên, Git Version Control của cPanel hoàn toàn có thể tự động hóa quá trình deploy này.

Trong project folder cục bộ, mở một file tên .cpanel.yml. File này có nhiệm vụ cho cPanel biết nên deploy code nào, và nên đặt nó ở đâu. Một bối cảnh đơn giản nhất là:

Deploy:

Task:

- export DEPLOYPATH=/home/user/public_html/
- /bin/cp index.html $DEPLOYPATH

Lưu file lại, rồi push nó vào remote repository.

git add .

Trong đó, dấu chấm (.) ở cuối cho Git biết nó cần thêm mọi thay đổi chưa được stage. Sau đó là commit và push như ở những bước trên.

git commit
git push origin

Sau khi hoàn tất file .cpanel.yml, cPanel sẽ tự động deploy những thay đổi khi nó được push từ máy cục bộ đến server.

Ngoài ra, ta cũng có thể deploy thủ công các code bất kỳ lúc nào. Open Git Version Control trong cPanel và click vào tab Pull or Deploy. Ở cuối trang, có một nút Deploy DEAD Commit. Nếu click vào, nó sẽ deploy code mới nhất ở trong YAML config file.

Tab này cũng hiển thị thông tin về lần deploy thành công gần đây nhất, đồng thời là commit tương ứng với quá trình deploy đó.

Nếu bạn có thắc mắc hay có vấn đề cần hỗ trợ, bạn có thể liên hệ trực tiếp với Vietnix thông qua các kênh sau:
  • Hotline: 1800 1093 - 07 088 44444
  • Email: support@vietnix.vn
  • Hoặc chat trực tiếp với Vietnix thông qua biểu tượng Livechat ở góc phải màn hình. Đội ngũ chuyên viên của chúng tôi luôn sẵn sàng tư vấn và hỗ trợ bạn 24/7.
Vietnix hiện đang có chương trình khuyến mãi lớn nhất trong năm, giảm giá TRỌN ĐỜI: Đăng ký dùng thử ngay và Vietnix sẽ hoàn tiền 100% nếu quý khách không hài lòng với chất lượng sản phẩm, dịch vụ!
Vietnix thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, Vietnix đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan
Không có bài viết liên quan
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments