add docker.yml

This commit is contained in:
ljw
2024-09-23 14:43:43 +08:00
parent 69ad1b2e80
commit 5b5943b287
2 changed files with 39 additions and 5 deletions

38
.github/workflows/docker.yml vendored Normal file
View File

@@ -0,0 +1,38 @@
name: Build and Push Docker Image
on:
push:
tags:
- 'v*.*.*' # 仅当推送标签(例如 v1.0.0)时触发
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}
- name: Extract version from tag
id: vars
run: echo "TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
- name: Build and push Docker image
id: push
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
push: true
tags: lejianwen/rustdesk-api:latest, lejianwen/rustdesk-api:${{ env.TAG }}

View File

@@ -17,11 +17,7 @@ RUN set -eux; \
swag init -g cmd/apimain.go --output docs/api --instanceName api --exclude http/controller/admin; \ swag init -g cmd/apimain.go --output docs/api --instanceName api --exclude http/controller/admin; \
swag init -g cmd/apimain.go --output docs/admin --instanceName admin --exclude http/controller/api; \ swag init -g cmd/apimain.go --output docs/admin --instanceName admin --exclude http/controller/api; \
go env -w GO111MODULE=on;\ go env -w GO111MODULE=on;\
go env -w CGO_ENABLED=1;\ CGO_LDFLAGS="-static" CGO_ENABLED=1 go build -ldflags "-s -w" -o ./release/apimain ./cmd/apimain.go; \
go env -w GOOS=linux;\
go env -w GOARCH=amd64;\
go env -w CGO_LDFLAGS="-static"; \
go build -o release/apimain cmd/apimain.go; \
cp -ar resources release/; \ cp -ar resources release/; \
mkdir -p release/resources/public; \ mkdir -p release/resources/public; \
cp -ar docs release/; \ cp -ar docs release/; \