Jenkins构建gitlab自动发布IIS

自由项目构建

1.服务器上下载JenkinsJenkins download and deployment

下载安装时会报错Service 'Jenkins' (Jenkins) failed to start. verify that you have sufficient privileges to start

解决办法:服务打开Jenkins-属性-登录-本地系统账户

2.安装java配置环境变量,安装visual studio

3.在gitlab上传.net项目,同时把项目放到服务器上

4.配置:新建item->配置

4.1源码管理:Credentials可以点击用户图像->Credentials设置全局凭证
4.2 Build Steps(构建步骤)

现在的项目是多个服务组成的,多个服务怎么构建呢

build steps进行配置

msbuild build file:需要把要构建的项目放到服务器上,这个路径就是该项目的解决方案文件

复制代码
/t:Rebuild  #重新生成
/p:Configuration=Release  #生成方式
/p:VisualStudioVersion=15.0  #vs版本
/p:DeployOnBuild=True;PublishProfile=Testing-Environment-CI-publish #使用 Testing-Environment-CI-publish.pubxml 发布文件来发布项目
/p:WebProjectOutputDir=C:\publish\JenkinsTest  #发布目录
/p:OutputPath=C:\publish\JenkinsTest\bin     #dll产生路径
复制代码
c:
cd C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin  
msbuild C:\ProgramData\Jenkins\.jenkins\workspace\pos_service_center\WebAPI_HY_POS.sln /t:Rebuild
msbuild C:\ProgramData\Jenkins\.jenkins\workspace\pos_service_center\WebAPI_HY_POS.sln /t:Rebuild /p:PublishProfile=FolderProfile  /p:WebProjectOutputDir=C:\publish\pos_service_center /p:OutputPath=C:\publish\pos_service_center\bin

5.点击保存后,build now

构建失败的话,可以查看控制台输出

报错1.msbuild.exe不是内部或外部命令,也不是可运行的程序

解决办法:在系统环境变量中的path变量中添加一条路径:

;C:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\Windows\Microsoft.NET\Framework64\v4.0.30319

报错2:对应的visual studio 版本文件下找不到Microsoft.WebApplication.targets文件

解决办法:搜索Microsoft.WebApplication.targets,从别的地方复制过去

构建后解决方案一直报错,因为引用的dll在服务器的环境中有些不符合的,没安装一些软件导致dll路径对应不上

解决办法:将缺少的dll上传到gitlab,然后push解决方案

可以在msbuild的bin目录C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin下面执行以下命令,查看相关报错后再上传git:

复制代码
msbuild C:\ProgramData\Jenkins\.jenkins\workspace\pos_service_center\WebAPI_HY_POS.sln /t:Rebuild /p:PublishProfile=FolderProfile  /p:WebProjectOutputDir=C:\publish\pos_service_center /p:OutputPath=C:\publish\pos_service_center\bin
相关推荐
CC码码11 小时前
管理你的多个 Git 密钥(多平台多账号)
git·gitlab·github
CC码码11 小时前
管理你的多个 Git 密钥(单平台多账号)
git·gitlab·github
兔老大RabbitMQ17 小时前
GitLab详细分析
gitlab
真实的菜18 小时前
Jenkins生态与拓展:构建现代化DevOps工具链的终极指南
servlet·jenkins·devops
去伪存真10 天前
如何封装Jenkins参数化构建中的动态选项获取代码片段?
前端·jenkins
white.tie10 天前
docker方式启动Jenkins
docker·容器·jenkins
至此流年莫相忘11 天前
Git集成Jenkins通过Pipeline方式实现一键部署
运维·git·jenkins
张敬之、11 天前
jenkins-2.439.1搭建
运维·elasticsearch·jenkins
去伪存真11 天前
如何集中管理多个项目的Jenkins Job 流程?
前端·jenkins
程序员的世界你不懂12 天前
将生成的报告通过jenkins发送邮件通知
java·servlet·jenkins