diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..2193a14 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,73 @@ +--- +kind: pipeline +type: docker +name: learn-languages + +platform: + os: linux + arch: amd64 + +volumes: + - name: debian-dist + host: + path: /home/debian/dist + +steps: + - name: build + image: node:23-alpine + commands: + - npm ci + - npm run build + + - name: package + image: node:23-alpine + environment: + ZHIPU_API_KEY: + from_secret: zhipu_api_key + commands: + - apk add zip + - mkdir -p .next/standalone/.next + - cp -r public .next/standalone + - cp -r .next/static .next/standalone/.next + - cd .next/standalone + - echo "$ZHIPU_API_KEY" > zhipu_api_key.txt + - rm -f /dist/learn-languages.zip + - zip -r /dist/learn-languages.zip . + volumes: + - name: debian-dist + path: /dist + + - name: deploy + image: appleboy/drone-ssh + settings: + host: + from_secret: ssh_host + username: + from_secret: ssh_username + password: + from_secret: ssh_password + port: 22 + script: + - cd ~/ + - rm -rf learn-languages + - mkdir learn-languages + - unzip -d learn-languages dist/learn-languages.zip + - cd learn-languages + - npm i + - | + if pm2 list | grep -q learn-languages; then + echo "进程 learn-languages 已在pm2中运行,正在重启..." + ZHIPU_API_KEY=`cat zhipu_api_key.txt` PORT=3030 pm2 restart "learn-languages" + else + echo "进程 learn-languages 未在pm2中运行,正在启动..." + ZHIPU_API_KEY=`cat zhipu_api_key.txt` PORT=3030 pm2 start "./server.js" --name "learn-languages" + fi + - pm2 save + - cd ~/ + - rm -rf dist + - mkdir dist + debug: true + +trigger: + branch: + - main \ No newline at end of file diff --git a/next.config.ts b/next.config.ts index e9ffa30..a028faf 100644 --- a/next.config.ts +++ b/next.config.ts @@ -2,6 +2,8 @@ import type { NextConfig } from "next"; const nextConfig: NextConfig = { /* config options here */ + output: "standalone", + allowedDevOrigins: ["192.168.3.65"] }; export default nextConfig;