在Ubuntu上實現Node.js的自動化部署可以通過多種方式實現,以下是使用GitHub Actions實現自動化部署的步驟:
在你的項目根目錄下創建一個.github/workflows
文件夾,然后在該文件夾中創建一個deploy.yml
文件。
在deploy.yml
文件中配置以下內容:
name: Deploy to GitHub Pages
on:
push:
branches:
- main
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install dependencies
run: npm install
- name: Build project
run: npm run build
- name: Deploy to GitHub Pages
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: gh-pages
folder: dist
進入你的GitHub倉庫的Settings,在左側菜單選擇Pages,選擇gh-pages
分支,點擊Save。等待GitHub Actions運行完畢,你的前端項目就會自動部署到https://你的用戶名.github.io/你的倉庫名/
。
如果你的前端項目需要部署到自己的服務器,可以使用SCP命令進行自動上傳。修改deploy.yml
文件如下:
name: Deploy to Server
on:
push:
branches:
- main
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install dependencies
run: npm install
- name: Build project
run: npm run build
- name: Deploy to server
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
SERVER_USER: "your-user"
SERVER_HOST: "your-server-ip"
DEPLOY_PATH: "/var/www/html"
run: |
echo "$SSH_PRIVATE_KEY" > private_key.pem
chmod 600 private_key.pem
scp -o StrictHostKeyChecking=no -r dist/* $SERVER_USER@$SERVER_HOST:$DEPLOY_PATH
需要在GitHub Secrets配置SSH_PRIVATE_KEY
,用于SSH免密登錄服務器。DEPLOY_PATH
是你的服務器Web目錄,Nginx需要指向這個路徑。
以上步驟展示了如何在Ubuntu上使用GitHub Actions實現Node.js項目的自動化部署。根據具體需求,你可能還需要配置CI/CD工具、服務器環境、部署腳本等,以確保部署流程的順利進行。