Home WebServer PanelcPanel [Git trên cPanel] Đồng bộ kho chứa Git trên cPanel với máy tính

[Git trên cPanel] Đồng bộ kho chứa Git trên cPanel với máy tính

by Thạch Phạm
Published: Last Updated on
A+A-
Reset

Trên giao diện cPanel có hỗ trợ một tính năng Git™ Version Control giúp các lập trình viên dễ dàng deploy mã nguồn từ dưới máy trực tiếp lên host hoặc đồng bộ với một kho chứa (repository) khác thông qua Git.

Trước khi sử dụng tính năng này, AZDIGI khuyến khích bạn nên biết sử dụng Git và terminal trước đó. Bạn có thể tham khảo serie Hướng dẫn Git cơ bản để nắm rõ kiến thức về Git.

Tại case này, chúng ta sẽ cùng thiết lập đồng bộ git từ kho chứa trực tiếp trên host cPanel với máy tính mà không cần phải thông qua một kho chứa trung gian nào.

Một số lưu ý:

  • Tên miền chính của gói host phải được trỏ về host để có thể kết nối kho chứa thông qua tên miền.
  • Khi push hoặc pull, fetch từ máy tính thì nó sẽ hỏi mật khẩu, bạn nhập mật khẩu gói host vào.

Trước tiên tại giao diện cPanel, bạn truy cập vào tính năng Git™ Version Control để bắt đầu tạo một kho chứa trên host.

2020 05 21 B94yRFWL

Sau đó bạn ấn nút Create bên tay phải để bắt đầu tạo kho chứa.

2020 05 21 yktml5qZ

Tiếp theo bạn tắt Clone a Repository và bắt đầu nhập thông tin như sau:

2020 05 21 8YQskSrl

  • Repository Path: Nhập đường dẫn kho chứa mà bạn cần tạo, AZDIGI khuyến nghị không nên sử dụng thư mục public_html làm repo vì sẽ dễ bị xung đột các kho chứa với nhau thông qua thư mục .git.
  • Repository Name: Tên kho chứa, viết liền không dấu, không ký tự đặc biệt.

Ấn nút Create để hoàn tất.

Lúc này bạn sẽ chuyển đến màn hình hướng dẫn thiết lập kho chứa này dưới máy tính của bạn, có hai tùy chọn là thiết lập kho chứa vào một thư mục dự án có sẵn, hoặc tạo một thư mục mới. Ở đây bạn có thể chọn lựa chọn phù hợp với bạn, ở đây AZDIGI sẽ lấy ví dụ là tạo một kho chứa mới trên máy.

2020 05 21 QQch8xhG

Bắt đầu tại máy tính, chúng ta truy cập vào thư mục cần làm việc với kho chứa trên cPanel với lệnh cd và tạo một kho chứa trên máy tính với git init, và sau đó thêm địa chỉ kho chứa trên cPanel vào thư mục này.

AZDIGI Tutorial
git clone ssh://azdigiweb@azdigiweb.com:2210/home/azdigiweb/azrepo
cd azrepo
    

Bây giờ ta sẽ tiến hành tạo thư một tập tin tên là README.md và push nó lên kho chứa nhé.

AZDIGI Tutorial
echo "# README" >> README.md
git add .
git commit -m "Init commit"
git push -u origin master
    
2020 05 21 2frkG2jn

Bây giờ bạn vào thư mục kho chứa trên cPanel sẽ thấy tập tin README.md vừa được push lên.

2020 05 21 MWFBz5Qo

Như vậy là đã hoàn tất việc kết nối kho chứa giữa kho chứa Git trên máy tính và host cPanel.

Deploy tự động với tập tin .cpanel.yml

Ở trên mình đã hướng dẫn bạn tạo một kho chứa trên cPanel, nhưng hãy ví dụ kho chứa đó bạn đang đồng bộ với một website đang trong trạng thái development, còn website production lại nằm ở thư mục khác. Lúc này chúng ta có thể tiến hành sử dụng tập tin .cpanel.yml để deploy một phần hoặc toàn bộ kho chứa qua thư mục website production.

Ở đây mình sẽ lấy ví dụ thư mục production của mình là /home/azdigiweb/public_html/ nhé.

Trước tiên bạn tạo một tập tin .cpanel.yml trong thư mục kho chứa và khai báo nội dung như sau:

---
deployment:
  tasks:
    - export DEPLOYPATH=/home/azdigiweb/public_html/
    - /bin/cp -rf wp-content $DEPLOYPATH
    - /bin/cp -rf images $DEPLOYPATH

Tại đây có nghĩa là chúng ta sẽ khai báo một biến mang tên $DEPLOYPATH là giá trị chứa đường dẫn thư mục website production. Và sau đó mỗi khi chúng ta push từ máy tính lên kho chứa thì task trong tập tin .cpanel.yml sẽ thực thi (như ví dụ ở trên thì copy hai thư mục wp-content và images vào thư mục production. Bạn có thể thêm bao nhiêu lệnh tùy thích.

Tiến hành push nó lên kho chứa trên cPanel.

AZDIGI Tutorial
git add .
git commit -m "Added .cpanel.yml"
git push -u origin master
    

Bây giờ AZDIGI sẽ thử tạo 1 thư mục tên images và tạo cho nó một tập tin bên trong đó.

AZDIGI Tutorial
mkdir images
touch images/hello.txt
git add .
git commit -m "upload 5 folders"
git push origin master
    

Bây giờ bạn có thể thử kiểm tra lại trên File Manager, nó sẽ tự động thực thi lệnh copy thư mục images qua thư mục production.

Chúc các bạn thành công.

5/5 - (1 vote)

Tham gia nhóm hỗ trợ Server - Hosting

Tham gia nhóm Hỗ trợ Server - Hosting & WordPress để cùng nhau hỏi đáp và hỗ trợ các vấn đề về WordPress, tối ưu máy chủ/server.

Tham gia ngay

Bài viết cùng chuyên mục

AZDIGI – Không chỉ là đơn vị hàng đầu trong lĩnh vực Web Hosting và Máy chủ, chúng tôi mong muốn mang lại những kiến thức bổ ích nhất và luôn cập nhật thường xuyên cho cộng đồng người đam mê thiết kế website, công nghệ,…

Vui lòng không sao chép nội dung nếu chưa xin phép. Designed and Developed by PenciDesign