156 lines
4.1 KiB
YAML
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
|
|
|