fix: 修复Gitea Actions兼容性,添加二进制和Docker镜像构建workflow
This commit is contained in:
@@ -16,10 +16,12 @@ jobs:
|
|||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Docker Setup Buildx
|
- name: Setup Go
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '1.22'
|
||||||
|
|
||||||
- name: node Setup
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: '20'
|
node-version: '20'
|
||||||
@@ -32,17 +34,23 @@ jobs:
|
|||||||
yarn build
|
yarn build
|
||||||
cp -r build ../server/resource/
|
cp -r build ../server/resource/
|
||||||
|
|
||||||
- name: Build Docker image
|
- name: Build binary
|
||||||
run: |
|
run: |
|
||||||
docker build -t next-terminal:${{ github.event.inputs.tag }} .
|
cd server
|
||||||
|
go mod tidy
|
||||||
|
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags '-s -w' -o next-terminal ../main.go
|
||||||
|
|
||||||
- name: Export Docker image
|
- name: Create package
|
||||||
run: |
|
run: |
|
||||||
docker save next-terminal:${{ github.event.inputs.tag }} | gzip > next-terminal-${{ github.event.inputs.tag }}.tar.gz
|
mkdir -p next-terminal
|
||||||
|
cp server/next-terminal next-terminal/
|
||||||
|
cp config.yml.example next-terminal/config.yml
|
||||||
|
cp LICENSE next-terminal/
|
||||||
|
tar zcvf next-terminal-${{ inputs.tag }}-linux-amd64.tar.gz next-terminal/
|
||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: next-terminal-docker-${{ github.event.inputs.tag }}
|
name: next-terminal-${{ inputs.tag }}-linux-amd64
|
||||||
path: next-terminal-${{ github.event.inputs.tag }}.tar.gz
|
path: next-terminal-${{ inputs.tag }}-linux-amd64.tar.gz
|
||||||
retention-days: 7
|
retention-days: 7
|
||||||
|
|||||||
@@ -0,0 +1,45 @@
|
|||||||
|
name: Build Docker Image
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
tag:
|
||||||
|
description: '镜像标签版本'
|
||||||
|
required: true
|
||||||
|
default: 'latest'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build Docker Image
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup Node
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: '20'
|
||||||
|
|
||||||
|
- name: Build web
|
||||||
|
run: |
|
||||||
|
cd web
|
||||||
|
npm install --global yarn
|
||||||
|
yarn
|
||||||
|
yarn build
|
||||||
|
cp -r build ../server/resource/
|
||||||
|
|
||||||
|
- name: Build Docker image
|
||||||
|
run: |
|
||||||
|
docker build -t next-terminal:${{ inputs.tag }} .
|
||||||
|
|
||||||
|
- name: Save Docker image
|
||||||
|
run: |
|
||||||
|
docker save next-terminal:${{ inputs.tag }} | gzip > next-terminal-${{ inputs.tag }}.tar.gz
|
||||||
|
|
||||||
|
- name: Upload artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: next-terminal-docker-${{ inputs.tag }}
|
||||||
|
path: next-terminal-${{ inputs.tag }}.tar.gz
|
||||||
|
retention-days: 7
|
||||||
Reference in New Issue
Block a user