此文章介绍关于gitlab使用.gitlab-ci.yml构建自动化发布流程,由于是window环境,所以采用批处理(bat)文件方式构建管道命令。本次讲解可用于测试环境单击部署,如果是开发环境请尽量考虑容器(docker)部署。
准备工作
此次讲解是基于.net构建的项目,所以在服务器上需要安装一下必备部署包
- Nuget包管理器,用于还原依赖包
- Msbuild用于编译发布项目
项目结构
项目根目录新建文件.gitlab-ci.yml
stages:
- build
- cleanup_build
build_job:
stage: build
only:
- develop
tags:
- dev
script:
- .\build\ci.bat
cleanup_build_job:
stage: cleanup_build
only:
- develop
tags:
- dev
script:
- echo "cleanup_build_job"
when: manual
项目更目录新建文件Build,目录中新建批处理文件ci.bat
set nuget="D:\\nuget\\nuget.exe"
set msbuild="D:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\MSBuild\\Current\\Bin\\MSBuild.exe"
set sln=xxxxx.Management.sln
set csproj=.\\src\\xxxxx.Management\\xxxxx.Management.csproj
set output_path=E:\\web\\gkbmgt-dev.geekbuy.cn
echo 开始还原包
%nuget% restore %sln%
echo 开始编译发布
%msbuild% ^
/t:Build ^
/clp:ErrorsOnly ^
/verbosity:minimal ^
/p:Configuration=Release ^
/p:RunCodeAnalysis=false ^
/p:VisualStudioVersion=16.0 ^
/p:WebProjectOutputDir=%output_path% ^
/p:OutputPath=%output_path%\bin ^
%csproj%
到此为止,gitlab中每次合并代码会自动触发ci管道命令执行自动化部署到服务器某个目录中,
gitlab构建最终执行结果如下:
至此,项目已经自动化发布部署到指定目录中。