Files
light/.gitea/workflows/deploy.yml
Workflow config file is invalid. Please check your config file: yaml: line 2: mapping values are not allowed in this context

52 lines
3.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

build-and-deploy:
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04
steps: steps:
# 1. 设置 Node.js禁用缓存 # 使用本地离线 Action - setup-node
- name: 为 Gitea Actions 设置 Node.js 环境 - name: 为 Gitea Actions 设置 Node.js 环境 (离线版)
uses: actions/setup-node@v4 uses: /opt/gitea-actions/setup-node/v4.0.2/
with: with:
node-version: '20' node-version: '20'
cache: 'none' # 关键修改:禁用缓存 cache: 'none'
# 2. 检出代码 # 使用本地离线 Action - checkout
- name: 检出代码 - name: 检出代码 (离线版)
uses: actions/checkout@v4 uses: /opt/gitea-actions/checkout/v4.1.1/
with:
fetch-depth: 1
# 3. 设置 Java 环境 # 使用本地离线 Action - setup-java
- name: 设置 JDK 17 - name: 设置 JDK 17 (离线版)
uses: actions/setup-java@v4 uses: /opt/gitea-actions/setup-java/v4.2.1/
with: with:
java-version: '17' java-version: '17'
distribution: 'temurin' distribution: 'temurin'
# 4. 使用 Maven 打包 # 后续步骤保持不变...
- name: 使用 Maven 打包 - name: 使用 Maven 打包
run: mvn clean package -DskipTests run: mvn clean package -DskipTests
# 5. 构建 Docker 镜像
- name: 构建 Docker 镜像 - name: 构建 Docker 镜像
run: | run: docker build -t light-delivery-app:latest .
docker build -t light-delivery-app:latest .
# 6. 部署到服务器
- name: 部署到服务器 - name: 部署到服务器
env: env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
run: | run: |
# 配置SSH环境
mkdir -p ~/.ssh mkdir -p ~/.ssh
echo "$SSH_PRIVATE_KEY" > ~/.ssh/deploy_key echo "$SSH_PRIVATE_KEY" > ~/.ssh/deploy_key
chmod 600 ~/.ssh/deploy_key chmod 600 ~/.ssh/deploy_key
echo -e "Host *\n\tStrictHostKeyChecking no\n" > ~/.ssh/config echo -e "Host *\n\tStrictHostKeyChecking no\n" > ~/.ssh/config
# 部署到服务器
ssh -i ~/.ssh/deploy_key root@115.190.121.151 ' ssh -i ~/.ssh/deploy_key root@115.190.121.151 '
echo "🚀 开始部署应用..." docker stop light-delivery-container || true
docker rm -f light-delivery-container || true docker rm light-delivery-container || true
docker run -d \ docker run -d \
--name light-delivery-container \ --name light-delivery-container \
-p 443:443 \ -p 443:443 \
@@ -54,5 +51,4 @@ jobs:
-v /etc/ssl/certs:/etc/ssl/certs \ -v /etc/ssl/certs:/etc/ssl/certs \
-e KEY_STORE_PASSWORD="$(cat /etc/ssl/certs/keyStorePass.txt)" \ -e KEY_STORE_PASSWORD="$(cat /etc/ssl/certs/keyStorePass.txt)" \
light-delivery-app:latest light-delivery-app:latest
echo "✅ 部署完成!"
' '