流水线 自动化部署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