使用Jenkins来实现Asp.Netcore的自动化部署【winserver服务器】

   每次发布的时候,手动发布所做的事情无非就是备份,生成,发布。而手动做这些循环的事情,如果偶尔一次还好,当在产品持续迭代的时候,无限重复的步骤就会让人很烦躁。这时候Jenkins的作用就提现出来了,让我们解放双手。

准备工作

     1、首先我们要把Asp.Netcore发布成基于windows服务的发布方式。

     2、下载并安装Jenkins,Jenkins的安装没有什么注意的,一直下一步,全部使用默认设置即可,链接:https://jenkins.io/zh/download/。

Jenkins帮我们可以完成的事情有很多,我这里用了这三个来实现自动化部署

      1.定时拉取最新代码。2.检查代码是否有改动。3.有改动后执行我们指定的脚本【可以多个脚本】。

这里我们脚本即是:1.清除之前的build 2.创建build 3.发布

开始使用Jenkins来实现Asp.Netcore的自动化部署

      1、启动Jenkins服务,在安装完成后Jenkins会在windows服务里面自动安装了一个Jenkins的服务。

      2、访问http://localhost:8080/,Jenkins在winserver上面默认端口是8080,然后会进入到jenkins的启动页,在启动页Jenkins会自动安装插件,选择默认的进行安装即可。

        注:1. 因为是Asp.NetCore,编译时需要.netcore SDK。所以服务器上要安装对应版本的.netcore sdk。

               2.这里是基于GIT进行代码仓库管理的,所以需要安装GIT客户端在服务器上(安装在默认路径即可,非默认路径需要到jenkins上进行配置GIT.exe的执行路径)。

      3、开始配置项目

            (1)、点击新建Item,如图

                  使用Jenkins来实现Asp.Netcore的自动化部署【winserver服务器】_第1张图片

          (2)、输入项目名称,并选择自由项目,并点击确定

                使用Jenkins来实现Asp.Netcore的自动化部署【winserver服务器】_第2张图片

         (3)、编辑配置信息里面的源代码管理,这个配置的主要目的是让Jenkins自动拉取最新代码

            使用Jenkins来实现Asp.Netcore的自动化部署【winserver服务器】_第3张图片

        (4)、配置代码拉取的规律,和构建的规律。

使用Jenkins来实现Asp.Netcore的自动化部署【winserver服务器】_第4张图片

          (5)、配置代码编译和发布脚本。 

                    注:我这里是的Api服务是寄宿在winserver上的,所以脚本才是如下。不同的环境,不同的发布方式,脚本都不一样。

     创建编译脚本

          netcore是可以使用shell脚本进行编译和发布的,所以我现创建了一个shell的构建脚本,脚本代码如下:

cd ./host/Fengpin.Atlas.KernelApi.Host/
dotnet clean -c Debug -r win-x64
dotnet build 
dotnet publish -c Debug -r win-x64

    如图所示:

使用Jenkins来实现Asp.Netcore的自动化部署【winserver服务器】_第5张图片

使用Jenkins来实现Asp.Netcore的自动化部署【winserver服务器】_第6张图片

      创建发布脚本

      当前的项目是寄宿在winserver上,域名配置等用的是ngix来进行的端口转发。由于我们要操作的是windows的文件和服务,所以我们需要创建的window的cmd的脚本,自动发布脚本代码如下:

cd ./host/Fengpin.Atlas.KernelApi.Host/
net stop AtlasApiServer
rd/s/q E:\AtlasApiServer\FunMthod
xcopy .\bin\Debug\netcoreapp2.2\win-x64\publish E:\AtlasApiServer\FunMthod\ /s /f /h
net start AtlasApiServer

如图:

使用Jenkins来实现Asp.Netcore的自动化部署【winserver服务器】_第7张图片

使用Jenkins来实现Asp.Netcore的自动化部署【winserver服务器】_第8张图片

最终构建模块的效果如下:

使用Jenkins来实现Asp.Netcore的自动化部署【winserver服务器】_第9张图片

   点击最终的保存,自动发布就完成了。

这样我们就完成了Asp.netcore的自动化部署。

你可能感兴趣的:(Asp.netcore,Jenkins)