流水线脚本。

This commit is contained in:
2026-01-29 20:26:17 +08:00
parent 55c4bf6a8f
commit 152e4984a7
2 changed files with 134 additions and 2 deletions

132
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,132 @@
stages:
- build
- release
variables:
VS_DIR: "C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools"
VS_ENV: "C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/Common7/Tools/Microsoft.VisualStudio.DevShell.dll"
CMAKE_BUILD_TYPE: Release
PROJECT_VERSION: "0.2.4"
CMAKE_GENERATOR: "Ninja"
PROJECT_NAME: "frelay"
ARCH_TYPE: x64
QT_PATH: "C:/Dev/qt6"
QT_XP: "C:/Qt/Qt5.7.1"
RELEASENAME: "$PROJECT_NAME-v$PROJECT_VERSION"
DESCRIPTION: |
# BUG修正
- 上传方完成后,接收端未接收完毕不能退出的问题。
- 主动中断检查等待后,软件崩溃。
# 优化
- 优化访问文件过多时,界面有卡顿情况。
- 优化资源占用多的问题。
# 功能新增
- 支持弹窗查看文件(夹)属性。
- 支持删除、重命名、新建文件(夹)。
- 文件管理器新增直接可以下载/上传功能。
- Console端,断连或者连接失败自动退出。
# 关于预构建包
Windows XP系统请使用`Windows-GNU`版本。
# Windows运行器配置
.win-template: &win
tags:
- win
before_script:
- echo "Running on Windows runner"
artifacts:
expire_in: 1 hour
# Windows构建 - 在win运行器上执行
build-xp:
<<: *win
stage: build
rules:
- if: $CI_COMMIT_TAG
before_script:
- $env:QT_DIR = "$env:QT_XP/5.7/mingw53_32"
- $env:COMPILE_DIR = "$env:QT_XP/Tools/mingw530_32"
- $env:PATH = "$env:COMPILE_DIR/bin;$env:PATH"
script:
- Write-Host "开始Windows XP构建..."
- Write-Host "$env:QT_DIR"
- Write-Host "$env:COMPILE_DIR"
- cmake -Bbuild-xp -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" -DCMAKE_PREFIX_PATH="$env:QT_DIR" -DQT_DEFAULT_MAJOR_VERSION=5 -DCOMPILE_GUI=ON -DRELEASE_MARK=ON
- cmake --build build-xp --config "$CMAKE_BUILD_TYPE"
- Write-Host "package windows start..."
- cd build-xp
- cpack
artifacts:
paths:
- build-xp/frelay-release-v$PROJECT_VERSION-Windows-GNU.exe
- build-xp/frelay-release-v$PROJECT_VERSION-Windows-GNU.zip
build-windows:
<<: *win
stage: build
rules:
- if: $CI_COMMIT_TAG
script:
- Import-Module $VS_ENV
- Enter-VsDevShell -VsInstallPath $VS_DIR -DevCmdArguments "-arch=$ARCH_TYPE"
- cmake -Bbuild -G "$CMAKE_GENERATOR" -DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" -DCMAKE_PREFIX_PATH="$QT_PATH" -DQT_DEFAULT_MAJOR_VERSION=6 -DCOMPILE_GUI=ON -DRELEASE_MARK=ON
- cmake --build build --config "$CMAKE_BUILD_TYPE"
- Write-Host "package windows start..."
- cd build
- cpack
artifacts:
paths:
- build/frelay-release-v$PROJECT_VERSION-Windows-MSVC.exe
- build/frelay-release-v$PROJECT_VERSION-Windows-MSVC.zip
create-release:
stage: release
needs: ["build-windows", "build-xp"]
tags:
- pi
variables:
RELEASE_TAG: "v$PROJECT_VERSION"
RELEASE_NAME: "$RELEASENAME"
RELEASE_DESCRIPTION: "$DESCRIPTION"
rules:
- if: $CI_COMMIT_TAG
script:
- echo "start release"
- >
curl --fail --show-error --header "JOB-TOKEN: $CI_JOB_TOKEN" \
--upload-file "build/frelay-release-v$PROJECT_VERSION-Windows-MSVC.exe" \
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/releases/v$PROJECT_VERSION/frelay-release-v$PROJECT_VERSION-Windows-MSVC.exe"
- >
curl --fail --show-error --header "JOB-TOKEN: $CI_JOB_TOKEN" \
--upload-file "build/frelay-release-v$PROJECT_VERSION-Windows-MSVC.zip" \
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/releases/v$PROJECT_VERSION/frelay-release-v$PROJECT_VERSION-Windows-MSVC.zip"
- >
curl --fail --show-error --header "JOB-TOKEN: $CI_JOB_TOKEN" \
--upload-file "build-xp/frelay-release-v$PROJECT_VERSION-Windows-GNU.exe" \
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/releases/v$PROJECT_VERSION/frelay-release-v$PROJECT_VERSION-Windows-GNU.exe"
- >
curl --fail --show-error --header "JOB-TOKEN: $CI_JOB_TOKEN" \
--upload-file "build-xp/frelay-release-v$PROJECT_VERSION-Windows-GNU.zip" \
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/releases/v$PROJECT_VERSION/frelay-release-v$PROJECT_VERSION-Windows-GNU.zip"
release:
tag_name: $RELEASE_TAG
name: $RELEASE_NAME
description: $RELEASE_DESCRIPTION
assets:
links:
- name: "frelay-release-v$PROJECT_VERSION-Windows-MSVC.exe"
url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/releases/v$PROJECT_VERSION/frelay-release-v$PROJECT_VERSION-Windows-MSVC.exe"
- name: "frelay-release-v$PROJECT_VERSION-Windows-MSVC.zip"
url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/releases/v$PROJECT_VERSION/frelay-release-v$PROJECT_VERSION-Windows-MSVC.zip"
- name: "frelay-release-v$PROJECT_VERSION-Windows-GNU.exe"
url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/releases/v$PROJECT_VERSION/frelay-release-v$PROJECT_VERSION-Windows-GNU.exe"
- name: "frelay-release-v$PROJECT_VERSION-Windows-GNU.zip"
url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/releases/v$PROJECT_VERSION/frelay-release-v$PROJECT_VERSION-Windows-GNU.zip"

View File

@@ -19,9 +19,9 @@
## 示例图
![示例图片](https://github.com/taynpg/frelay/raw/main/img/10.png)
![示例图片](img/10.png)
![示例图片](https://github.com/taynpg/frelay/raw/main/img/xp.png)
![示例图片](img/xp.png)
## 注意事项