.Net 部署自动化发布(Jenkins)

什么是自动化部署就是实现一次提交代码后。服务器端可以直接自动拉取代码发布成服务。无需繁琐的手动操作。


自动化部署

1. 安装jdk. (jenkins所需的环境变量,建议安装1.5以后的jdk,1.5之后不需要配java_home, class,path)

  jdk 安装地址: jdk 64位下载_jdk1.7 64位官方最新版免费下载-下载之家  (这是随便找的一个1.7的下载地址 JDK17

2. 下载并安装jenkins

 首先我们要大概的了解一下什么是Jenkins以及它的作用

 Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。

  通常与版本管理工具(SCM)、构建工具结合使用;常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。

 主要用于:1.持续、自动地构建/测试软件项目。2.监控一些定时执行的任务。

1) 下载并安装: Jenkins 的安装和设置

安装完之后 会在本地生成一个服务

2) 登录可视化界面。 默认地址是 localhost:8080

jenkins默认workspace路径在C盘,会占用大量系统盘空间。 

修改workspace路径:修改jenkins安装目录下的jenkins.xml文件,修改后需要重启Jenkins服务。

  按照入门的步骤输入指定路径下的密码。然后安装推荐插件。设置登录账号。端口。配置好一切后。进入可视化界面

  1.  配置自动化,新建一个Item,创建一个自由的项目
源码管理那一栏 勾选git 输入代码仓库的地址,然后添加拥有拉取权限的账号。

Poll SCM 的意思是轮询的拉取并检测是否有代码更新。下面的日程表是输入轮询的时间。这里设置的是每分钟检测一次。

(如果不懂时间的规则,可以点击右边的小问号。有时间写法的规则)

Poll SCM 需要谨慎勾选。这里只做测试使用为了实现自动化发布。如果是线上服务器不建议勾选。确认无误后手动点击拉取发布更安全。

当然还有别的选项。根据自己需求进行配置

添加构建

 之前操作。只是轮询的检测和拉取代码。添加的构建才是正在意义上自动化的核心操作。

 Jenkins实质的执行顺序是

 构建触发器(自动/手动操作) => 源码管理(拉取代码) => 执行构建(可以没有) => 执行构建后操作(可以没有)

 实现自动化。其实本质只是做了以下

 清除解决方案=>重新生成解决方案=>发布=>将服务停止=>将发布的代码拷贝到注册成服务的绑定的文件夹下面=>重启服务

 我们只是将这些步骤用命令去执行从而避免繁琐的操作

(命令中 : 后面的话是注释不影响运行。这里将执行的命令分成2个步骤是为了方便阅读和后期维护。也可以写在一起)

(JenKins创建的任务。会在Jenkins的路径下的workspace里创建一个任务名称的文件夹。拉取的代码全部存放在这文件夹下面。所以构建步骤时要将路径指定到你想发布的程序的文件夹下。否则会将整个项目的程序都发布。下面我只想发布我DebugDemo下面的Demo项目,所以下面添加的构建 直接cd .Demo即可,他会自动找寻workspace下的路径)


 

:代码的编译和发布
cd  ./Demo    : 这里cd 后面的路径是想要编译的那个文件夹的路径
dotnet clean                     : dotnet的命令清除解决方案
dotnet build                     : dotnet的命令重新生成
dotnet publish -r win-x64 -c debug     
:(-r win-x64)指代发布的环境这里是x64 若是其余则 -r xxxx
:(-c debug)指代发布的版本是debug 如果release则 -c release

:将发布的代码拷贝到自动化部署的文件
cd ./Demo                        : 这里cd 后面的路径是想要编译的那个文件夹的路径
net stop BoardServer             : 停止你的程序的服务
rd/s/q C:\Users\Administrator\Desktop\BoardServer\FunMthod   :删除你之前代码的文件夹
xcopy .\Demo\bin\Debug\netcoreapp3.1\win-x64\publish        C:\Users\Administrator\Desktop\BoardServer\FunMthod\ /s /f /h
:xcopy 你当前路径下发布的最新到你指定的文件夹下去(指定的文件夹为你将应用程序注册成服务的那个指定文件夹下)
net start BoardServer            :启动服务 

部署到IIS的发布脚本

C:\Windows\System32\inetsrv\appcmd.exe stop apppool /apppool.name:ManagementApi
cd E:\Jenkins\.jenkins\workspace\ManagementApi-sit\Magic.Web.Entry
dotnet publish
C:\Windows\System32\inetsrv\appcmd.exe start apppool /apppool.name:ManagementApi

Vue部署脚本

安装NodeJs

:删除依赖并重新安装
rd /s/q E:\Jenkins\.jenkins\workspace\webvue-sit\node_modules
npm install


:构建打包
npm run build

:删除旧站点并发布,安全点可以先打包备份再删除
rd /S /Q E:\BtSoft\nginx\html\webvue\dist
xcopy /e /i /y E:\Jenkins\.jenkins\workspace\webvue-sit\dist E:\BtSoft\nginx\html\webvue\dist
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值