duncan/.gitea/workflows/deploy-choice.yml
2025-03-19 18:47:44 +08:00

156 lines
4.1 KiB
YAML

name: Build and Deploy Slots App
on:
workflow_dispatch:
inputs:
buildservicename:
description: 'Select service to build and deploy'
required: true
default: 'web_api'
type: choice
options:
- activity_srv
- arcaneportals_srv
- beautifulgirl_srv
- bigbass_srv
- cashcrew_srv
- chaoscrew_srv
- clashcash_srv
- dbsync_srv
- doggy_srv
- doghouse_srv
- dragon_srv
- dragonslayer_srv
- gatescopyofolympus_srv
- gatesofolympus_srv
- gateway_api
- glodofolympus_srv
- goldenyear_srv
- handofanubis_srv
- itero_srv
- jackscrypt_srv
- jelly_srv
- johnwild_srv
- keepem_srv
- login_srv
- magicalmine_srv
- moneytrain_srv
- operatorproxy_srv
- order_srv
- playercenter_srv
- ripcity_srv
- sugarcopyrush_srv
- sugarrush2_srv
- sugarrush_srv
- sweetbonanza_srv
- wanted_srv
- warriorways_srv
- web_api
- wildgang_srv
- wukong_srv
- common
- core
- all
deployservicename:
description: 'Select service to build and deploy'
required: true
default: 'web_api'
type: choice
options:
- activity_srv
- arcaneportals_srv
- beautifulgirl_srv
- bigbass_srv
- cashcrew_srv
- chaoscrew_srv
- clashcash_srv
- dbsync_srv
- doggy_srv
- doghouse_srv
- dragon_srv
- dragonslayer_srv
- gatescopyofolympus_srv
- gatesofolympus_srv
- gateway_api
- glodofolympus_srv
- goldenyear_srv
- handofanubis_srv
- itero_srv
- jackscrypt_srv
- jelly_srv
- johnwild_srv
- keepem_srv
- login_srv
- magicalmine_srv
- moneytrain_srv
- operatorproxy_srv
- order_srv
- playercenter_srv
- ripcity_srv
- sugarcopyrush_srv
- sugarrush2_srv
- sugarrush_srv
- sweetbonanza_srv
- wanted_srv
- warriorways_srv
- web_api
- wildgang_srv
- wukong_srv
jobs:
build-deploy:
runs-on: ubuntu-24.04 # 使用官方支持的最新稳定版
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Install System Dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "16.20.2"
- name: Verify Node.js
run: node --version # 添加验证步骤
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: "1.18"
- name: Verify Go
run: go version # 添加验证步骤
- name: Build project
run: |
cd server
echo "Workspace: $GITEA_WORKSPACE"
pwd
make ${{ gitea.event.inputs.buildservicename}}
- name: Install SSH Key
uses: webfactory/ssh-agent@v0.7.0
with:
ssh-private-key: ${{ secrets.EC2_SSH_PRIVATE_KEY_TEST }}
- name: Deploy to EC2
env:
EC2_HOST: ${{ vars.EC2_HOST }}
EC2_USER: slots
# TARGET_DIR: /data/server/${{ gitea.event.inputs.deployservicename }}
TARGET_DIR: /home/slots/
run: |
SERVICE_NAME=${{ gitea.event.inputs.deployservicename }}
SOURCE_PATH="server/build/server/$SERVICE_NAME/$SERVICE_NAME"
if [ ! -f "$SOURCE_PATH" ]; then
echo "Error: $SOURCE_PATH does not exist!"
exit 1
fi
echo "Deploying $SOURCE_PATH to EC2..."
scp -v -o StrictHostKeyChecking=no -o ConnectTimeout=30 $SOURCE_PATH $EC2_USER@$EC2_HOST:$TARGET_DIR