Home WebServer PanelcPanel [Git trên cPanel] Đồng bộ kho chứa Git trên cPanel với remote git

[Git trên cPanel] Đồng bộ kho chứa Git trên cPanel với remote git

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

Ở một bài viết trước đó, AZDIGI đã có hướng dẫn làm việc với kho chứa git trên cPanel với một kho chứa dưới máy tính (local repository). Trong bài viết này, AZDIGI sẽ tiếp tục hướng dẫn thêm về cách đồng bộ dữ liệu từ kho chứa git trên cPanel với một kho chứa từ xa khác như Github, Gitlab,…

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.

Đầu tiên là truy cập vào cPanel => Git™ Version Control và ấn nút Create để tạo một kho chứa trên cPanel.

2020 05 21 yktml5qZ

Sau đó bạn bật Clone a Repository và nhập thông tin như sau:

git tren cpanel 1
  • Clone a Repository: Clone kho chứa này từ một kho chứa khác.
  • Clone URL: Đường dẫn kho chứa cần clone.
  • Repository Path: Đường dẫn kho chứa trên host.
  • Repository Name: Tên kho chứa, viết liền không dấu, không khoảng trắng và không ký tự đặc biệt.

Ấn nút Create để bắt đầu tạo. Lúc này kho chứa của bạn sẽ bắt đầu tạo và clone dữ liệu về.

Pull dữ liệu – Cập nhật dữ liệu từ remote git về cPanel

Khi trên kho chứa đang kết nối tới có dữ liệu mới thì bạn có thể cập nhật nó về host cPanel (pull) bằng cách vào phần Manage của kho chứa đang làm việc.

2020 05 23 lpH0rqeE

Chọn Pull or Deploy, và chọn Update from Remote.

2020 05 23 LXAEMqh9

Nếu khi pull mà có một commit nào mới được cập nhật nó sẽ hiển thị tại phần HEAD Commit.

Push dữ liệu – Từ host cPanel lên remote git

Để sử dụng tính năng này một cách hiệu quả, AZDIGI xin đặt ra một giả thiết như sau:

Bạn có 2 website trên host cPanel như sau:

  • demo.domain.com – Địa chỉ website đang trong giai đoạn hoàn thiện và đặt tại thư mục là kho chứa git. Như trong ví dụ này là /home/azdigiweb/repositories/azrepo.
  • domain.com – Địa chỉ website chính, chạy tại thư mục /home/azdigiweb/public_html.

Và dưới máy tính của bạn có một kho chứa, bạn sẽ push những thay đổi đã hoàn thiện lên kho chứa git tại Github, sau đó là vào host tại cPanel tiến hành pull dữ liệu từ Github về thư mục đang chạy demo.domain.com để chạy thử. Sau khi chạy mà không thấy lỗi gì nữa sẽ tiến hành deploy lên thư mục website chính là domain.com.

Như vậy để làm được như vậy, chúng ta sẽ sử dụng phương pháp push deploy trên cPanel.

Trước tiên là trong thư mục kho chứa, bạn phải có một tập tin .cpanel.yml như sau:

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

Trong đó, khai báo biến DEPLOYPATH là đường dẫn thư mục của website chính, hay còn gọi là production site. Và bên dưới nó là những lệnh mà nó sẽ thực thi khi chúng ta deploy, ví dụ ở trên là nó sẽ tự động copy hai thư mục imagescontent vào thư mục chính của website mỗi khi gửi lệnh push deploy. Bạn có thể đặt bao nhiêu lệnh ở đây tùy thích.

Sau đó push tập tin này lên kho chứa.

git add .
git commit -m "added .cpanel.yml"
git push -u origin master

Sau đó vào cPanel => Git™ Version Control => Manage => Pull or Deploy và ấn nút Update from Remote để cập nhật dữ liệu mới từ kho chứa (là tập tin .cpanel.yml mà ta vừa mới tạo).

Bây giờ bạn kiểm tra lại thư mục kho chứa trên cPanel và đảm bảo rằng tập tin .cpanel.yml xuất hiện ở đây.

2020 05 23 FCvV6YNA

Tính năng này sẽ tiến hành deploy từ kho chứa cPanel qua thư mục website chính nên bây giờ để thử nó, bạn vào mục Terminal trên giao diện cPanel để tiến hành thêm một số tập tin và thêm nó vào git để thử nhé.

Chúng ta chạy các lệnh sau để truy cập vào thư mục kho chứa trên cPanel và tạo thử một số tập tin:

cd /home/azdigiweb/repositories/azrepo
mkdir includes
touch includes/hello.txt
git add .
git commit -m "added hello.txt"
git push -u origin master

Nếu bạn chạy lệnh git commit trên cPanel bị lỗi thì chạy 2 lệnh sau để thiết lập tên và email làm việc trong Git.

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

Bây giờ bạn quay trở lại giao diện Git™ Version Control => Manage => Pull or Deploy và nút Deploy HEAD Commit sáng lên và có thể ấn vào để bắt đầu chạy tập tin .cpanel.yml và nó sẽ bắt đầu deploy từ commit hiện tại (HEAD Commit).

2020 05 23 n7AgFLvz

Sau khi chạy xong, bạn có thể thử kiểm tra thư mục website chính và sẽ thấy nó copy thư mục images và các tập tin bên trong đó theo như lệnh ta khai báo trong .cpanel.yml.

Như vậy là bạn đã hoàn tất việc sử dụng tính năng Git™ Version Control trên cPanel để deploy mã nguồn từ kho chứa máy tính lên website chính một cách an toàn nhất rồi đó.

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