chore(ci): 预装 Go/Flutter 到 NAS,CI 直接挂载使用
Deploy / deploy (push) Failing after 7m29s

This commit is contained in:
wangjia
2026-05-08 00:49:06 +08:00
parent 6a875db001
commit ecd72e8b0a
2 changed files with 11 additions and 48 deletions
+6 -45
View File
@@ -9,59 +9,23 @@ jobs:
runs-on: ubuntu-latest
env:
GOPROXY: https://goproxy.cn,direct
GONOSUMCHECK: "*"
PUB_HOSTED_URL: https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL: https://storage.flutter-io.cn
steps:
- uses: actions/checkout@v4
- name: Cache Go SDK + modules
uses: actions/cache@v3
with:
path: |
/usr/local/go
~/go/pkg/mod
~/.cache/go-build
key: go-${{ hashFiles('backend/go.mod') }}
restore-keys: go-
- name: Install Go
- name: Setup paths
run: |
if [ ! -f /usr/local/go/bin/go ]; then
GO_VERSION=$(grep '^go ' backend/go.mod | awk '{print $2}')
curl -fsSL https://golang.google.cn/dl/go${GO_VERSION}.linux-amd64.tar.gz -o /tmp/go.tar.gz
sudo tar -C /usr/local -xzf /tmp/go.tar.gz
fi
echo "/usr/local/go/bin" >> $GITHUB_PATH
echo "/volume1/docker/tools/go/bin" >> $GITHUB_PATH
echo "/volume1/docker/tools/flutter/bin" >> $GITHUB_PATH
- name: Go tests
working-directory: backend
run: go test ./...
- name: Cache Flutter SDK + pub
uses: actions/cache@v3
with:
path: |
/opt/flutter
~/.pub-cache
key: flutter-3.41.6-${{ hashFiles('client/pubspec.lock') }}
restore-keys: flutter-3.41.6-
- name: Install Flutter
run: |
if [ ! -f /opt/flutter/bin/flutter ]; then
curl -fsSL https://storage.flutter-io.cn/flutter_infra_release/releases/stable/linux/flutter_linux_3.41.6-stable.tar.xz -o /tmp/flutter.tar.xz
sudo tar -C /opt -xf /tmp/flutter.tar.xz
fi
echo "/opt/flutter/bin" >> $GITHUB_PATH
env:
PUB_HOSTED_URL: https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL: https://storage.flutter-io.cn
- name: Flutter tests
working-directory: client
run: flutter test
env:
PUB_HOSTED_URL: https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL: https://storage.flutter-io.cn
- name: Build backend (linux/amd64)
working-directory: backend
@@ -70,9 +34,6 @@ jobs:
- name: Build Flutter Web
working-directory: client
run: flutter build web --release --dart-define=BASE_URL=https://jiu.51yanmei.com --dart-define=PUBLIC_URL=https://jiu.51yanmei.com
env:
PUB_HOSTED_URL: https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL: https://storage.flutter-io.cn
- name: Package artifacts
run: |
@@ -112,7 +73,7 @@ jobs:
EC2_HOST: ${{ secrets.EC2_HOST }}
EC2_USER: ${{ secrets.EC2_USER }}
run: |
scp -i ~/.ssh/ec2.pem backend/jiu-server ${EC2_USER}@${EC2_HOST}:/tmp/jiu-server
scp -O -i ~/.ssh/ec2.pem backend/jiu-server ${EC2_USER}@${EC2_HOST}:/tmp/jiu-server
rsync -avz --delete -e "ssh -i ~/.ssh/ec2.pem" \
client/build/web/ ${EC2_USER}@${EC2_HOST}:/tmp/jiu-web-new/
ssh -i ~/.ssh/ec2.pem ${EC2_USER}@${EC2_HOST} << 'ENDSSH'
+5 -3
View File
@@ -15,7 +15,9 @@ cache:
container:
network: bridge
privileged: false
# 备份目录挂载到每个 job 容器,使 backup workflow 可以写 NAS 磁盘
options: -v /volume1/backups:/volume1/backups
options: >-
-v /volume1/docker/backups:/volume1/docker/backups
-v /volume1/docker/tools:/volume1/docker/tools
valid_volumes:
- /volume1/backups
- /volume1/docker/backups
- /volume1/docker/tools