【补充】Gitlab 部署 CI 持续集成
2016-05-12 17:34
441 查看
上一篇:《劈荆斩棘:Gitlab 部署 CI 持续集成》
上一篇所配置的
有几个问题:
对于上面的问题,完善如下:
还有就是,对于上面的第三个问题,因为
我们可以把
上一篇所配置的
.gitlab-ci.yml:
stages: - build - test before_script: - echo "Restoring NuGet Packages..." - C:\NuGet\nuget.exe restore "src\CNBlogsCI-Sample.sln" only: - master build_job: stage: build script: - echo "Release build..." - C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe /consoleloggerparameters:ErrorsOnly /maxcpucount /nologo /property:Configuration=Release /verbosity:quiet "src\CNBlogsCI-Sample.sln" except: - tags only: - master test_job: stage: test script: - echo "Tests run..." - C:\xunit.runner.console\tools\xunit.console.exe "src\ClassLibrary2\bin\debug\ClassLibrary2.dll" - C:\xunit.runner.console\tools\xunit.console.exe "src\ClassLibrary3\bin\debug\ClassLibrary3.dll" only: - master
有几个问题:
before_script要执行两次。
C:\NuGet\nuget.exe写死路径的写法不可取。
test_job需要上传
debug中的
dll文件。
对于上面的问题,完善如下:
stages: - build build_job: stage: build script: - echo "Restoring NuGet Packages..." - nuget restore "src\CNBlogsCI-Sample.sln" - echo "Release build..." - msbuild /consoleloggerparameters:ErrorsOnly /maxcpucount /nologo /property:Configuration=Release /verbosity:quiet "src\CNBlogsCI-Sample.sln" - echo "Tests run..." - xunit.console "src\ClassLibrary2\bin\debug\ClassLibrary2.dll" - xunit.console "src\ClassLibrary3\bin\debug\ClassLibrary3.dll" except: - tags only: - master
nuget,
msbuild和
xunit.console命令都需要添加环境变量,为什么要去除
before_script和
test_job?因为每执行一个
job,
git都需要
Fetching changes...,所以会清除不受
git版本控制的文件。
还有就是,对于上面的第三个问题,因为
msbuild是
Release模式生成,而我们
test的
debug dll,所以就必须上传文件,我们把
test中的
debug改为
Release就可以了。
我们可以把
nuget,
msbuild和
xunit.console独立出批命令实现。
restore.cmd:
echo "NuGet Sources List..." nuget Sources List echo "Restoring NuGet Packages..." nuget restore "src\CNBlogsCI-Sample.sln"
build.cmd:
echo "Release build..." msbuild /consoleloggerparameters:ErrorsOnly /maxcpucount /nologo /property:Configuration=Release /verbosity:quiet "src\CNBlogsCI-Sample.sln"
test.cmd:
echo "Tests run..." xunit.console "src\ClassLibrary2\bin\Release\ClassLibrary2.dll" xunit.console "src\ClassLibrary3\bin\Release\ClassLibrary3.dll"
.gitlab-ci.yml:
stages: - build build_job: stage: build script: - ./restore.cmd - ./build.cmd - ./test.cmd except: - tags
script中的
cmd命令之前需要添加
./。
相关文章推荐
- Linux-ssh的rsa认证登录配置
- css3中rem 与px算法
- 统计学中的基本概念
- Vagrant上的用户权限问题
- 微信使用整理2
- 在代码中设置TextView的drawableLeft、drawableRight、drawableTop、drawableBottom
- Android的VectorDrawable与AnimatedVectorDrawable
- window.showModalDialog函数学习
- 管理系统首页模版(20160519)
- Webview标题问题
- Android自定义属性
- 基础知识:线程,进程。多进程,多线程。并发,并行的区别
- 绕过苹果审核机制
- 正则表达式
- Redis主从环境配置
- elk平台搭建
- C# 后台请求web服务方法
- POI XSSF与HSSF的 使用区别
- Java 1.5并发包之一:Lock
- Ecshop与Jquery冲突的解决方案2