Jenkins将ASP.NETCore部署到Azure
首先需要获得Azure上App-service 的porfile. 登录portal 选到app,点击Get publish pofile

将得到一个 ****.PublishSettings,注意这个文件还不是最后真正用于发布的配置,还需要做如下操作,得到一个真正的发布配置,真正发布配置是 xxx.pubxml
在VS 中打开项目,点击发布,导入配置
在导入配置后,在这个目录下(项目web的路径\Properties\PublishProfiles),能获得真正的 pubxml 结尾的,配置文件
打开PublishSettings文件(注意不是pubxml )在里面找到userPWD,复制密码
测试这个文件是否能用,直接在CMD 里面,Password 里面填 刚才复制的那个密码
dotnet publish XX/XX.csproj /p:PublishProfile="XX.pubxml" /p:Password=XXX
正常情况就能发布到azure 了,
简单Jenkins 任务就使用以下代码就行了
dotnet restore
dotnet build --configuration "Release"
dotnet publish --no-build -c Release XXX/xxxx.csproj /p:PublishProfile="xxxxxx- Web Deploy.pubxml" /p:Password=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
有几个问题需要注意下:
1.xxx.pubxml 这个文件不应该提交到源代码里面,所以当Jenkins 要发布项目的时候,是没有XXX.pubxml, 应该把这个文件放到Jenkins 服务器上, 开始发布把XXX.pubxml 复制到项目web的路径\Properties\PublishProfiles 里面,
.net core 发布不能指定配置文件位置,我也不清楚为什么这么死板,所以需要提前把配置文件 放到服务器某个位置,让Jenkins 可以复制
bat("copy /y \"${filePath}\" \"${destination}\"");
2.根据微软Best practice,机密信息应该放到 KeyVault 里面,而KeyVault 的名称应该配置到app-servcie 的环境变量里面,不应该通过appsetting.json来管理这个配置。但当初我也没仔细看,还是使用的appSetting 来管理 KeyVault,可以用下面代码来改appSetting
def void UpdateKeyVaultName(String prefix) {
String appsettingJsonPath = "${env.WORKSPACE}\\XXXXXX\\appsettings.json";
echo appsettingJsonPath;
String keyVaultName = "${prefix}-XXXX";
echo keyVaultName;
withEnv(["VAR_KeyVault=$keyVaultName","VAR_JsonPath=$appsettingJsonPath"])
{
powershell '''
$jsonPath = $env:VAR_JsonPath
$appsettings = Get-Content $jsonPath | ConvertFrom-Json
$appsettings.KeyVault = $env:VAR_KeyVault
$appsettings | ConvertTo-Json | set-content $jsonPath
'''
}
}
Jenkins将ASP.NETCore部署到Azure的更多相关文章
- ASP .NetCore 部署500错误 查看异常详情
部署.net core 网站后,访问报错:500 按照教程设置完成,但访问时总是提示 服务器内部错误,没有详细的异常信息,无从下手. 解决办法: 1.在站点根目录下按住shift+鼠标右键,选择在此处 ...
- Asp.NetCore轻松学-部署到 Linux 进行托管
前言 上一篇文章介绍了如何将开发好的 Asp.Net Core 应用程序部署到 IIS,且学习了进程内托管和进程外托管的区别:接下来就要说说应用 Asp.Net Core 的特性(跨平台),将 .Ne ...
- k8s+Jenkins+GitLab-自动化部署asp.net core项目
0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 此文阅读目录: 1.闲聊 ...
- ASP.NET Core在Azure Kubernetes Service中的部署和管理
目录 ASP.NET Core在Azure Kubernetes Service中的部署和管理 目标 准备工作 注册 Azure 账户 AKS文档 进入Azure门户(控制台) 安装 Azure Cl ...
- Asp.NetCore轻松学-使用Supervisor进行托管部署
前言 上一篇文章 Asp.NetCore轻松学-部署到 Linux 进行托管 介绍了如何在 Centos 上部署自托管的 .NET Core 应用程序,接下来的内容就是介绍如何使用第三方任务管理程序来 ...
- Asp.NetCore轻松学-部署到 IIS 进行托管
前言 经过一段时间的学习,终于来到了部署服务这个环节,.NetCore 的部署方式非常的灵活多样,但是其万变不离其宗,所有的 Asp.NetCore 程序都基于端口的侦听,在部署的时候仅需要配置侦听地 ...
- Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)
Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一) 接上一篇 3. Nginx配置反向代理 3.1 cnetos 安装nginx 首先,我们需要在服务器上安装N ...
- Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一)
环境 本地 win7 服务器:Virtual Box 上的Centos ssh工具: Xshell 文件传输: xftp 1.在本地创建asp.net core应用发布 1.1 使用Vs2017 新建 ...
- 使用 Visual Studio 将 ASP.NET Web 应用部署到 Azure
原文地址:https://www.azure.cn/zh-cn/documentation/articles/web-sites-dotnet-get-started 配置新的 Web 项目 下一步是 ...
随机推荐
- python爬虫笔记之re.match匹配,与search、findall区别
为什么re.match匹配不到?re.match匹配规则怎样?(捕一下seo) re.match(pattern, string[, flags]) pattern为匹配规则,即输入正则表达式. st ...
- Vue杂谈
<div id="app"> <input type="text" ref="input1"/> <butto ...
- delegate委托的例子,实现对Form中控件的更新
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 如何在一个项目中兼容Wepy和Taro?
背景交待 NJ 项目启动初期,团队技术栈主要是基于 Vue,技术选择上就选择了类 Vue 的 wepy.迭代几个版本后 mpvue 出来了,简单调研了下,准备基于 mpvue-simple 开发部分页 ...
- 一个简单的JS倒计时
看到很多商城都是抢购倒计时的功能,今天闲来无事做了个倒计时.全当学习JS. 主要思路:主要用到Date对象,声明一个变量获取当前时间,在声明一个变量获取结束时间,结束时间-当前时间=剩余时间(倒计时) ...
- zstack源码编译安装(1.7.x版本)
图片没粘贴过来,请看本人gitbook吧https://www.gitbook.com/book/jingtyu/how-to-learn-zstack-code 运行环境 zstack的安装方式有很 ...
- python基础——字典(dict)
字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 . dict1 = {} ...
- @ConfigurationProperties 注解使用姿势,这一篇就够了
在编写项目代码时,我们要求更灵活的配置,更好的模块化整合.在 Spring Boot 项目中,为满足以上要求,我们将大量的参数配置在 application.properties 或 applicat ...
- 真千兆路由的极限之OPENWRT MAKE, 某品牌白菜价QCA9558/QCA9880/QCA8337N纯种组合OS搭建时记
自从上次仙人梦里放了一张无字天书,解惑了WPR003N的秘诀后,渐渐的,就忘了这件这事情,连想好的评测都拖延了好多月了,毕竟路由是拿来用的,不是用来写什么陈词滥调的评测的,无意间,热爱白菜的我发现了一 ...
- hexo的环境变量被删除怎么办
这篇文章主要讲在path这一环境变量被删除的情况下,补上哪些环境变量才可以使hexo重新使用. 前两天配置opencv的时候,不小心将环境变量中"path"这一项中的内容给覆盖掉了 ...