詹金斯+ GitLab + Msbuild + Python自

  

<强>前言
企业线上环境是。净框架,自然使用Windows Server平台。现在需求是要对。NET项目进行自动化持续集成,免得每次手动发布,一台台机器登录,那种痛苦干过的都懂得,繁琐,效率低下,误操作等等。而NET与詹金斯的结合使用目前要达到完全自动化还是有局限性的,关键是Windows环境,各种命令无法向Linux方便。网络核心可能会好一些。现有的没办法,得上。
基本组合是詹金斯+ Gitlab + Msbuild。实现代码提交,编译,部署。

  
      <李> <>强安装环境与流程
    1)詹金斯是java产品,需安装JDK8, Windows server 2012环境。
    2) . net项目需。净框架支持,这里选择Framework4.6.1.Nuget解决依赖。构建工具Msbuild,基于VS2019下的Msbuild。以上都基于Windows server 2012。刚开始选择server 2008 r2,后面构建打包这种问题,困扰2天,果断换。
    3)代码仓库GitLab。选用Centos7.6。
    4) . Net项目持续集成流程:
    詹金斯+ GitLab + Msbuild + Python自”> </李>
  <李> <>强詹金斯操作</强> <br/> 1)詹金斯具体安装略,傻瓜式下一步……安装完成。下载见官方网站:https://jenkins。io/下载/,找到downlaod下载,这里项目基于。Net Freamwork,Jenkins中构建需编译.net程序,方便编译,选择安装Windows版本。<br/>这里Jenkins安装前,需配置好JDK环境。<br/>2) 插件安装<br/>Jenkins安装好后,进入<strong>系统管理</strong>-><strong>插件管理</strong>,安装好Msbuild、GitLab、ftp、python等。<br/><img src=
    Jenkins+GitLab+Msbuild+Python自
    3) 新建Job
    Jenkins+GitLab+Msbuild+Python自
    4) Job设置
    设置保留构建的天数,和构建最大数量
    Jenkins+GitLab+Msbuild+Python自
    自定义workspace工作空间
    Jenkins+GitLab+Msbuild+Python自
    5) 获取Git仓库代码
    Jenkins+GitLab+Msbuild+Python自
    指定Git仓库代码项目分支,这里为测试环境,统一使用dev分支构建。
    主要有以下配置项:
    Repositories URL:git方式获取代码路径,走ssh协议。
    Credentials:授权登录信息,添加凭据。这里使用SSH方式(用户名+私钥方式)登录。需先Jenkins配置SSH方式登录Gitlab。
    Jenkins+GitLab+Msbuild+Python自
    Branches to build:指定分支。
    6) 构建程序配置
    6.1安装插件后,进入系统管理->Global Tool Configuration,找到MSbuild配置选项。
    Jenkins+GitLab+Msbuild+Python自
    这里Path to MABuild配置VS下的MSBuild。不使用C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild目录下的msbuild工具。
    6.2 构建前创建Windows batch command,解决项目软件包依赖,配置Nuget。
    Jenkins+GitLab+Msbuild+Python自
    Jenkins+GitLab+Msbuild+Python自
    需在本地安装好nuget。Windows命令如下:   
     <代码>“E: \程序文件(x86) \ \ nuget工具。exe”恢复“E: \ jenkins-workspace \ APIDataBM-test \ BM.BMData.Web \ BM.BMData。sln configfile " C: \ \用户管理员\ AppData \ \ NuGet \ NuGet徘徊。配置“nocache  
      

    其中Nuget恢复命令是获取项目需要的程序包,解决包的依赖问题。
    7)构建环境配置
    詹金斯+ GitLab + Msbuild + Python自”> <br/>选择“构建一个Visual Studio项目或解决方案使用Msbuild”配置如下:<br/> <img src=詹金斯+ GitLab + Msbuild + Python自