• 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 FilesGitingit.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 eleasesaas。也就是我们自动化部署时发布的目录。且应用程序池为非托管模式。

    命令一内容:

    C:WindowsSystem32inetsrvappcmd.exe stop apppool /apppool.name:saas

    关闭应用程序池:saas

    命令二内容:

    e:
    
    cd E:Jenkinsworkspace	estaspnet-core
    
    dotnet build
    
    dotnet publish -o D:subendong
    eleasesaas

    定位到E

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

    dotnet命令构建

    dotnet命令发布

    命令三内容:

    C:WindowsSystem32inetsrvappcmd.exe start apppool /apppool.name:saas

    启动应用程序池:saas

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

    e:
    
    cd E:Jenkinsworkspace	estaspnet-core
    
    dotnet build
    
    C:WindowsSystem32inetsrvappcmd.exe stop apppool /apppool.name:saas
    
    dotnet publish -o D:subendong
    eleasesaas
    
    C:WindowsSystem32inetsrvappcmd.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

  • 相关阅读:
    MySQL与Oracle 差异比较之七其它
    MySQL与Oracle 差异比较之七用户权限
    MySQL与Oracle 差异比较之六触发器
    MySQL与Oracle 差异比较之五存储过程&Function
    MySQL与Oracle 差异比较之四条件循环语句
    MySQL与Oracle 差异比较之三函数
    MySQL与Oracle 差异比较之二基本语法
    MySQL与Oracle 差异比较之一数据类型
    Nginx、fastCGI、php-fpm关系梳理
    RTSP服务器之————rtsp-server(轻量级RTSP / RTP流媒体服务器)
  • 原文地址:https://www.cnblogs.com/subendong/p/13196987.html
Copyright © 2020-2023  润新知