windows + jenkins + .net core + iis自动化部署新手入门

环境准备

Windows10操作系统

Git Server确保已安装

IIS 10确保已安装

.net core sdk3.1确保已安装

ASP.NET Core 3.1 Runtime (v3.1.5) - Windows Hosting Bundle Installer确保已安装

 

说明:我的项目是基于.net core3.1的,通过IIS 10做代理。所以.net core sdkIISWindows Hosting Bundle Installer都是需要安装的。

下载

下载地址:https://www.jenkins.io/download/

截止目前最新版:2.235.1

 

安装

直接双击jenkins.msi文件,采用默认设置,直到完成。但是我将Jenkins安装在了E盘。

jenkins.msi安装好之后,会自动打开浏览器,并访问:http://localhost:8080

注意:如果8080端口已被其它应用占用,可以把占用8080端口的应用停掉;或者修改jenkins.xml文件,使用其它端口。

配置Jenkins插件下载镜像

等待几秒,直到安装目录发现有hudson.model.UpdateCenter.xml文件。

这个时候到windows服务列表,停止Jenkins服务。

然后打开hudson.model.UpdateCenter.xml文件。

修改镜像:<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>

重新启动Jenkins服务。

再次打开http://localhost:8080,稍等会跳转到http://localhost:8080/login?from=%2F页面。

注意:期间会不断的去请求这个地址,不用管。据说是因为jenkins的后台访问了国外的地址,但访问不了导致的。

解锁Jenkins

然后会要求你解锁Jenkins,打开指定文件,复制粘贴进去即可。

安装Jekins插件

选择自定义Jenkins,如果选择推荐插件,不仅要等很久,而且会有很多装不上。

 

选择无,一个插件都不装。

创建管理员

FullName是登录后右上角显示的名字。

实例配置

 

至此Jenkins第一步算是配置完成。

汉化Jenkins

英语水平好的话,无需汉化。

点击左侧菜单Manage Jenkins,然后点击右侧Manage Plugins

进去之后,选择Available。如下图 :

当出现:Use the search field above to search for available plugins.表示可以在搜索框搜索了。我们输入:Localization: Chinese (Simplified)

 

安装完之后,地址栏输入:http://localhost:8080/restart 重新启动。重启成功后看到的就是汉化之后的界面了。

如果安装失败,可访问:https://plugins.jenkins.io/,单独下载。具体看下面:

选择最新的就行了。

下载下来后,是个localization-zh-cn.hpi文件。

点击主页的Manage Plugins,进去后选择Advance选项卡。将下载的文件上传上去即可,如下图:

 

地址栏输入:http://localhost:8080/restart 重新启动。

安装Git插件

具体步骤和安装汉化插件一样。

漫长等待,如果有插件无法安装,参考上面汉化方式处理。

地址栏输入:http://localhost:8080/restart 重新启动。

全局配置

如果Path to Git executable配置为git.exe不行的话,填写安装路径也是可以的。

我的是:C:\Program Files\Git\bin\git.exe

新建任务

使用Freestyle project。目前也就这一个。

源码管理

 

此处选择你的git远程仓库地址、账号密码、分支

构建触发器

勾选:Poll SCM,时间设置成:H/2 * * * *

意思是每2分钟检查git是否有变化,如果有变化就会重新构建和部署。

构建

选择使用windows批处理命令:Execute Windows batch command

注意:我们是.net core应用,且部署到windows操作系统。所以不能选择其它的脚本命令,只能使用windows批处理命令。

而且我们是部署在IIS上的,所以就有了本文开头环境准备里面的安装Windows Hosting Bundle Installer。用它来做代理,真正代理到我们的.net core应用。所以在构建之前我们还要做一件事情,在IIS上添加好站点:saas。站点目录为:D:\subendong\release\saas。也就是我们自动化部署时发布的目录。且应用程序池为非托管模式。

命令一内容:

C:\Windows\System32\inetsrv\appcmd.exe stop apppool /apppool.name:saas

关闭应用程序池:saas

命令二内容:

e:

cd E:\Jenkins\workspace\test\aspnet-core

dotnet build

dotnet publish -o D:\subendong\release\saas

定位到E

定位到aspnet-core目录,git拉下来的代码在test目录下,但是aspnet-core才是解决方案所在目录。

dotnet命令构建

dotnet命令发布

命令三内容:

C:\Windows\System32\inetsrv\appcmd.exe start apppool /apppool.name:saas

启动应用程序池:saas

 

另外,上面三个步骤可以合在一个步骤里面的,具体如下:

e:

cd E:\Jenkins\workspace\test\aspnet-core

dotnet build

C:\Windows\System32\inetsrv\appcmd.exe stop apppool /apppool.name:saas

dotnet publish -o D:\subendong\release\saas

C:\Windows\System32\inetsrv\appcmd.exe start apppool /apppool.name:saas

至此,大功告成,洗洗睡觉。

 

 

参考网址:

jenkins镜像:https://www.cnblogs.com/zxcnn/p/11703662.html

jenkins安装插件的两种方式:https://www.jianshu.com/p/3b5ebe85c034

jenkins之插件下载方法:https://www.cnblogs.com/happyuu-2019/p/11433502.html

jenkins设置中文显示:https://www.cnblogs.com/jpfss/p/11733664.html

jenkins构建触发器定时任务Build periodically和Poll SCM【转载】:https://www.cnblogs.com/caoj/p/7815820.html

Jenkins构建基于.NET Core的web程序:https://www.cnblogs.com/cluyun/p/11286335.html

根据端口号杀死进程:https://www.cnblogs.com/xiaostudy/p/11674053.html

IIS 站点和应用池命令启动和停止:https://www.cnblogs.com/jmaly/p/9860606.html

 

posted @ 2020-06-27 00:40  屌丝大叔的笔记  阅读(3131)  评论(5编辑  收藏  举报