博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.NetCore 使用Jenkins发布多环境下的项目并适配数据库EFCore数据库更新及替换配置文件...
阅读量:4570 次
发布时间:2019-06-08

本文共 1639 字,大约阅读时间需要 5 分钟。

说明

1、git上的配置地址可能都是本地环境,提交到git server后怎么来使用发布不同环境?

2、关于EFCore本地数据库有更新的情况 添加了 Migrations文件 怎么在构建的时候去更新不同环境下的数据库?

下面就来解决这两个问题

1、在测试服务器上分别建立开发、测试 两个目录用于放.NetCore发布文件(发布的.NetCore 用IISHosting方式)

2、在每个目录下建一个对应的配置文件(服务器环境下的配置文件,用作替换)

如下:发布2个站点(授权认证(Identityserver4 和 UserApi))

开发内测环境(KF)

测试环境(CS)

构建jenkins相关任务

开发内测环境

测试环境下

 

 配置Git获取代码

添加Windows批处理

下面说下命令:

cd D:cd D:\Web\KF\Idr4rd /s /q  D:\Web\KF\Idr4cd "%WORKSPACE%\IdentityServices"dotnet restore dotnet builddotnet publish  -o D:\Web\KF\Idr4copy D:\Web\KF\Idr4Config_KF\appsettings.json D:\Web\KF\Idr4

发布之前删除发布的目录 如下操作:

cd D:cd D:\Web\KF\Idr4rd /s /q  D:\Web\KF\Idr4

 然后就是dotnetcore相关命令 还原、构建生成 、发布

cd "%WORKSPACE%\IdentityServices"dotnet restore dotnet builddotnet publish  -o D:\Web\KF\Idr4

 最后在将服务器配置文件复制到网站发布目录

EFCore相关操作很遇到的问题

由于Identityserver4是用数据库脚本创建的数据,如需要使用模型生成Migrations更新数据库怎么来用?

都知道在实际业务中 数据库更新添加了Migrations文件 发布后需要更新数据库

接下来看下另外一个站点UserApi的配置

cd D:cd D:\Web\KF\UserApird /s /q  D:\Web\KF\UserApicd "%WORKSPACE%\UserServicesApi"copy D:\Web\KF\UserApiConfig_KF\appsettings.json "%WORKSPACE%\UserServicesApi"dotnet restore dotnet builddotnet ef database update -c UserDbContextdotnet publish  -o D:\Web\KF\UserApi

这里就会存在配置文件和数据库更新的一个先后问题,需要先拷贝配置文件到目录,这里有一个小小的陷阱

就是拷贝的服务器配置文件是拷贝到git的工作目录而不是发布出来的目录(这里与IdentityServer4)有区别,拷贝到发布目录是无法执行下面添加的工具的命令

所以先拷贝文件,然后执行相关dotnet命令 最后发布 就OK了

实际效果

针对多环境下只需要在服务器上多设置几个目录拷贝相关环境下的配置文件即可

开发内测环境:

Idr4 在 20000端口

UserApi 在20011端口

测试环境:

Idr4 在 30000端口

UserApi 在30011端口

小小的修改下代码说明看效果 访问下内测地址:

http://192.168.0.233:20011/swagger/index.html

访问下测试地址

http://192.168.0.233:30011/swagger/index.html

多环境多站点自动发布成功了~~

 

转载于:https://www.cnblogs.com/liyouming/p/9290404.html

你可能感兴趣的文章
java对象 深度克隆(不实现Cloneable接口)和浅度克隆
查看>>
[整理] ES5 词法约定文档树状图
查看>>
处女座和小姐姐(三)(数位dp模板)
查看>>
【脚本程序】Openssl利用脚本
查看>>
小波分析及其应用
查看>>
dynamic memory allocate
查看>>
分块算法
查看>>
类与对象
查看>>
文件管理File类
查看>>
优化PHP程序的方法
查看>>
字典排序,初始化,简单使用
查看>>
《Linux内核分析》课程第七周学习总结
查看>>
Generate parentheses,生成括号对,递归,深度优先搜索。
查看>>
分布式事务- MSDTC配置
查看>>
安装vue模板时,选择webpack-simple还是Webpack?
查看>>
解决inputStream二次读取问题
查看>>
DbHelperSQL—— 动软生成DbHelperSQL类
查看>>
Java笔试题之SQL语句(单表)
查看>>
Jason 和 Java 对象转化示例
查看>>
笔记_第一章_01
查看>>