Hion Coding - Blogs share everything
  • HOME
  • ABOUT
  • POSTS
  • CONTACT
  • TOOLS
    CÂU HỎI VÕ ĐÀI TỐI THƯỢNG CONVERT IMAGE TO WEBP
Auto deployment với GitHub Actions cho cPanel hoặc VPS 🚀

Auto deployment với GitHub Actions cho cPanel hoặc VPS 🚀

Hion Coding - Blogs share everything
Admin Hion Coding Blogs vochilong.work@gmail.com
31st March 2024

Git/Github

Auto deployment với GitHub Actions cho cPanel hoặc VPS 🚀

Đối với những nhà phát triển như chúng ta, làm việc với Github là công việc hàng ngày, phải làm việc thường xuyên. Hầu hết chúng ta chỉ quan tâm đến các chức năng chính của Github như Pull request, Issues hay code mà ít khi để ý đến các chức năng khác của Github. Trong bài viết hôm nay, Hion Coding giới thiệu với các bạn chức năng Actions của Github và sử dụng nó để triển khai các dự án lên GitHub Pages. Vậy hành động GitHub là gì? Làm thế nào để sử dụng nó? Chúng ta hãy cùng nhau tìm hiểu nhé.
Một lưu ý nhỏ là các bạn làm việc với cPanel cũng hoàn toàn có thể làm theo các bước này để có thể setting auto deploy cho dự án của các bạn nhé.

Một số điều chúng tôi sẽ đề cập trong hướng dẫn này.

  • Tạo khóa ssh trênVPS hoặc Terminal cPanel
  • Thêm khóa công khai đã tạo của bạn vào authorized_keys
  • Tạo GitHub secret keys
  • Cấu hình GitHub actions cho việc auto-deploy private/public repository của bạn


Bước 1 - Mở terminal của bạn và thêm ssh vào VPS của bạn

ssh user@hostname
cd ~/.ssh


Bước 2 - Tạo SSH key

ssh-keygen -t rsa -b 4096 -C "test@example.com"

Email ở đây là email dùng ở Github account của các bạn


Bước 3 - Thêm khóa công khai vào ủy quyền - authorized keys

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Lưu ý: Chúng tôi đang sử dụng >> để thêm nội dung id_rsa.pub vào cuối nội dung trong tệp authorized_keys chứ không ghi đè nội dung trong authorized_keys.

 

Bước 4 - Tạo các key GitHub secrets

cat ~/.ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAwBnywW0YOMVlsMzEQEFAtCZK7tL8fE/f8cmVH57PS42DtkB0
0CxWdU2VO0XZJtvFwTbJmZ/SwLUfUS2rsL0RnjXN25lpbT59EluFClN2kRkZp5w+
Xn3ygrvE2t+j8zjF2JgfwZ2zS7Dr8v0DPg79CRVjU0XwrC1Pf4D4Pvzgf7CqjxUQ
...
...
4SeULN9pM2wAn1SoZHvX0QvVSlY5/hboZm6TF2MIPY/HTwNHoKlZJRrhXY1VhzMn
oWfOQObmxJ9BUIZRckhRTxFMp8VQ3v1mp4IQVQKBgQCkDQyvow+Vvgk/WlTKR3jn
kfUcNhMzCz4sqjj5/ZKGRXGzVewBMBK/59wUKxyvz5+QyFvE9weznp4mZahq7q0l
...
...
QmKqBQKBgQC4W/xwQz+EuSOVD4qfn5f6AWZT9/ZJ4yB2N6R+VwPdsfsDvN2RAhU2
hfmQpV5xW9n+huI3Z2I6RFj/Yq8Nc5l1A8Nd13Z18KBaYz1vbl64iI/+3f6uWyr+
sNm91dWnYV4R8ghf7W9dk19X3pDnXHQtIWVJdPjMN6PQcGoxo4LK8w==
-----END RSA PRIVATE KEY-----

Đi tới repository GitHub mà bạn muốn định cấu hình, nhấp vào tab cài đặt, sau đó trong menu tùy chọn, nhấp vào và thêm các bí mật sau:

  • HOST: đặt khóa cho tên máy chủ hoặc địa chỉ IP của bạn.

  • USERNAME: đặt khóa cho tên người dùng bạn sử dụng để SSH vào VPS của mình.

  • SSHKEY: đặt khóa cho nội dung bạn đã sao chép từ lệnh trên.

  • PORT: đặt khóa thành 22 (tôi nghĩ là mặc định luôn rồi @@)

Hion Coding

Bước 5 - Định cấu hình GitHub Action để tự động triển khai dự án của bạn

Giả sử rằng bạn đã có project trên máy của mình, hãy tiếp tục và tạo thư mục .github/workflows và bên trong tạo một tệp deploy.yml

Thêm nội dung bên dưới vào deploy.yml
Lưu ý: Dưới đây có lệnh 'cd test-deploy.hioncoding.com && git pull origin': Tôi đang mong muốn cd vào thư mục mà tôi cần pull code về. Các bạn có thể thay đổi theo những hành động của các bạn nhé ~.~'
Nếu muốn pull code không cần yêu cầu tài khoản hay mật khẩu bạn có thể tham khảo bài viết config SSH Github ở đây

name: SSH Pull Code

on:
  push:
    branches:
      - main
jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Setup SSH key
        uses: longaodai/ssh-server@v2.0.0
        with:
          host: ${{ secrets.HOST }}
          username: ${{ secrets.USERNAME }}
          ssh-private-key: ${{ secrets.SSHKEY }}
          commands: 'cd test-deploy.hioncoding.com && git pull origin'

Commit các thay đổi trong deploy.yml và  push lên repository của các bạn

git add .

git commit -m "deploy"

git push origin master
Hion Coding

Cảm ơn các bạn đã quan tâm! Mọi thắc mắc hoặc cần hỗ trợ các bạn có thể gửi tin nhắn qua email. Mình sẽ cố gắng hỗ trợ các bạn.

Hion Coding! Good luck!


Create Release in Github action - How to do it?

26th April 2024

Create Release in Github action - How to do it?

Git/Github

Tạo Release trong Github action - How to do it?

26th April 2024

Tạo Release trong Github action - How to do it?

Git/Github

Auto deployment with GitHub Actions for cPanel or VPS 🚀

31st March 2024

Auto deployment with GitHub Actions for cPanel or VPS 🚀

Git/Github

Scheduling your GitHub Actions cron-style

9th April 2024

Scheduling your GitHub Actions cron-style

Git/Github

Hion Coding - Blogs share everything


© 2025 Hion Coding DMCA.com Protection Status