.Net Core部署自动化发布(自动化拉取部署成为服务

自动化部署

1. 安装jdk. (jenkins所需的环境变量,建议安装1.5以后的jdk,1.5之后不需要配java_home, class,path)
  jdk 安装地址: http://www.downza.cn/soft/219583.html  (这是随便找的一个1.7的下载地址)
  下载安装好之后,进入jdk的bin 目录下。复制地址。

配置到环境变量=>系统变量的Path下面。

。配置好之后。 cmd  输入 java /javac 返回配置就说明配置好了 环境。

2. 下载并安装jenkins

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

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

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

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

1) 下载并安装: https://jenkins.io/zh/download/ 
安装完之后 会在本地生成一个服务

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

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

3) 配置自动化,新建一个Item,创建一个自由的项目

源码管理那一栏 勾选git 输入代码仓库的地址,然后添加拥有拉取权限的账号。

构建触发器那一栏勾选 Poll SCM 

Poll SCM 的意思是轮询的拉取并检测是否有代码更新。下面的日程表是输入轮询的时间。这里设置的是每分钟检测一次。
(如果不懂时间的规则,可以点击右边的小问号。有时间写法的规则)
Poll SCM 需要谨慎勾选。这里只做测试使用为了实现自动化发布。如果是线上服务器不建议勾选。确认无误后手动点击拉取发布更安全。
当然还有别的选项。根据自己需求进行配置

 

添加构建

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

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

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

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

 我们只是将这些步骤用命令去执行从而避免繁琐的操作
(命令中 : 后面的话是注释不影响运行。这里将执行的命令分成2个步骤是为了方便阅读和后期维护。也可以写在一起)

  这里自动化是基于将应用程序部署成服务的,如果不会传送门     =>https://blog.csdn.net/weixin_43925876/article/details/103870348

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

 
  1. :代码的编译和发布

  2. cd ./Demo : 这里cd 后面的路径是想要编译的那个文件夹的路径

  3. dotnet clean : dotnet的命令清除解决方案

  4. dotnet build : dotnet的命令重新生成

  5. dotnet publish -r win-x64 -c debug

  6. :(-r win-x64)指代发布的环境这里是x64 若是其余则 -r xxxx

  7. :(-c debug)指代发布的版本是debug 如果release则 -c release

 
  1. :将发布的代码拷贝到自动化部署的文件

  2. cd ./Demo : 这里cd 后面的路径是想要编译的那个文件夹的路径

  3. net stop BoardServer : 停止你的程序的服务

  4. rd/s/q C:\Users\Administrator\Desktop\BoardServer\FunMthod :删除你之前代码的文件夹

  5. xcopy .\Demo\bin\Debug\netcoreapp3.1\win-x64\publish C:\Users\Administrator\Desktop\BoardServer\FunMthod\ /s /f /h

  6. :xcopy 你当前路径下发布的最新到你指定的文件夹下去(指定的文件夹为你将应用程序注册成服务的那个指定文件夹下)

  7. net start BoardServer :启动服务

部署完之后。保存。然后Build Now一下。如果设置了轮询的直接等待结果即可。

在build history 可以看到你每次执行的结果。红色为失败。蓝色成功。在控制台输出可以看到具体的问题。

到此自动化部署的所有操作就完成了!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值