流水线 自动化部署jenkins IIS .NET FrameWork之 asp.net mvc

前言:

jenkins 的安装可以参考我上面这个博文里的内容 相信会有bug出现

https://blog.csdn.net/qq_37499645/article/details/117755483

我这里是在Windows 端 安装的 Jenkins

默认启动后 登录密钥的路径为

‪C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins\.jenkins\secrets\initialAdminPassword

这里先给大家说一下 jenkins 在window 安装后 工作的目录一定不要早 Windows 目录下 或者其他系统文件夹的目录下

为什么说要更换目录 因为上述目录 执行 MSBuild 命令时,提示找不到***.csproj

(重点描述:此错误情况在互联网的其他论坛也看到 遇到的情况和我的一模一样,即使在C:\Windows 没有 .开头的文件夹的情况下 也无法编译 还是提示错误 msbuild error 1009 项目文件不存在,当我把项目 复制到C盘根目录下时  编译确实可以成功的)

MSBuild error 1009 这个 错误  目前我还不知道是因为权限问题 还是含有 .开头的文件问题

自始至终还不知道 总的 来说 工作目录修改一下

找到 jenkins 安装目录下 找到 jenklns.xml 并打开修改

 

修改JENKINS_HOME 的value   C:\Jenkins\jenkins

修改 --webroot 的属性 C:\jenkins\war

这样 我们的 Jenkins 就运行在 C:\Jenkins 下  里边有 web 服务  和 jenkins 插件自身

启动服务后  输入新的密钥 C:\Jenkins\jenkins\secrets\initialAdminPassword 该目录下的,如果时新手建议推荐新手安装,把所有的插件都给装上,我这里为了演示,几乎把所有的插件都给装上了 。

Manage Jenkins  》  Manage Credentials

找到全局凭据 添加凭据  

SSH Username with private key

特别提示:本文章不建议 新手直接参考 建议参考 前言中 所出现的另外一篇文章

类型: SSH Username with private key

范围:全局

id:a

描述:a

username:yoursmail@gmail.com

Private key 

私钥直接输入

passphrase  密码确认

 

Manage Jenkins  》Manage Plugins

安装 MSBuild 插件

Manage Jenkins 》Global Tool Configuration

这道  MSBuild选项 新增 MSBuild

name builddotnet

path to msbuild 为  MSBuild.exe 构建的路径 建议 使用 vs2019 或者 vs2017 类似于上图中的 安装目录下的 MSBuild

忘了提示各位了,先把 vs2019 安装好 具体这里不细说了

下边 开启IIS 

win+r 》  control  进入控制面板

程序和功能》启用或关闭Windows功能

 

勾选 .net 3 和 4 有关的框架和asp.net 选项

这里  我们使用 默认的 80  工作目录:C:\inetpub\wwwroot

 

名称  demodotnet

选中 Freestyle project 选项

点击最下面的确定

我们开始来编辑 我们的项目

构建保存10 天 保存最大构建个数 10个

源码管理 选择 git 

Repository URL  git远程路径  可以时  git@   也可以是 https开头的仓库地址

如果为 git@ 远程路径 下面  的 

Credentials 需要选择你刚添加的全局配置的那一项  因为我这里的仓库是 共有仓库 所以直接  https 直接拉取了。

Branches to build   */master

构建分支   也可以是 */develop 开发分支

这里的构建触发器 就不单独说了

直接到 构建环境这里 

Delete workspace before build starts 构建前 删除工作目录

我们从 nuget 官网下载  nuget.exe 是个单独的文件 因为 默认 vs2017 / 2019 中 nuget 不在环境变量里 我直接从官网下载 直接手工操作

增加构建步骤:

选项:Execute Windows batch command  这里是输入 bat 命令

cd C:\
cd "Program Files\nuget"
nuget.exe restore %WORKSPACE%\Webapplication1\Webapplication1.sln

------说明----  %WORKSPACE% 当前项目 工作目录的环境变量  这里直接对 解决方法下所有的 项目 还原nuget 包

增加构建步骤:

选项: Build a Visual Studio project or solution using MSBuild  #vs 构建

MSBuild Version 选中 builddotnet

MSBuild Build File 填写 ${WORKSPACE}\Webapplication1\Webapplication1\Webapplication1.csproj

------${WORKSPACE}-------  环境变量 

Command Line Arguments   

/t:Rebuild /p:Configuration=Release;VisualStudioVersion=16.0 /p:DeployOnBuild=true

p:Configuration=Release 版本 也可以为 Debug

VisualStudioVersion=16.0 vs版本  2019 为16

p:DeployOnBuild=true  打包构建  会单独 将编译后的项目文件  复制到

cspioj目录\obj\Release\Package\PackageTmp 下

Pass build variables as properties 不勾选

Do not use chcp command  不勾选

增加构建步骤:

选项:Execute Windows batch command  这里是输入 bat 命令

iisreset /STOP

xcopy /y /e  %WORKSPACE%\WebApplication1\WebApplication1\obj\Release\Package\PackageTmp C:\inetpub\wwwroot\

iisreset /START

上述三行命令

第一行 停止 iis 服务  为什么要停止 因为 正常的.net 项目 运行的时候  会用到缓存 那么这个时候 dll 文件处于占用状态 只有 停止 iis 服务了  缓存没了 文件占用也就没了 

第二行 复制文件到 web根目录下

第三行 启动 iis 

我在最下面给你们看几张截图

部署前:

我把 WebApplication1 目录删掉了 等下会拉取下来

 

网站 目录为空

我直接给你看 执行的日志

 

 

成功了

 

自动给 copy 过来了 

我们来看看站点吧

到这里  我们的部署就搞定了  从构建  然后  复制到 web目录下 就是从上到下的这些步骤,在部署的过程中,难免会碰到各种各样的错误,给大家说一下 ,我这个从构建到彻底成功,构建了61次 第61 次成功了  中间有各种各样的错误 。希望大家掌握思路。

关于 仓库 自动构建的  建议大家单独的去学习 我就不集成在文章里了。

文章有不当的地方 各位在评论区发表下 自己的说法吧。

可以私信我 也可以 加我qq  或者 邮箱  xiaohe@chnhonker.com(不处理垃圾邮件)
————————————————
版权声明:本文为CSDN博主「ChnHonKer-小河」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37499645/article/details/117809998

posted @ 2021-06-15 15:09  小河vlog  阅读(226)  评论(0编辑  收藏  举报