我正在关注最新的2011年2月Azure培训套件示例.
我已成功部署使用
New-Deployment -serviceName xxxxmytodo99
-subscriptionId cxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
-certificate (get-item cert:\CurrentUser\MY\xxxxxxxxxxxx)
-slot staging
-package MyTodo.cspkg
-configuration ServiceConfiguration.cscfg
-label "v2.0"
-storageServiceName xxxxmytodo99
Run Code Online (Sandbox Code Playgroud)
然后运行下一步 -
Get-HostedService -serviceName xxxxmytodo99
-subscriptionId cxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
-certificate (get-item cert:\CurrentUser\MY\xxxxxxxxxxxx)
| Get-Deployment staging
| Set-Deployment -package MyTodo.cspkg
-configuration ServiceConfiguration.cscfg
-label "v2.1"
| Get-OperationStatus -WaitToComplete
Run Code Online (Sandbox Code Playgroud)
给出了这个错误.
Set-Deployment : The remote server returned an unexpected response: (400) Bad Request.
At line:1 char:232
+ Get-HostedService -serviceName xxxxmytodo99 -subscriptionId cxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -certificate (get-item cert:\CurrentUser\MY\xxxxxxxxxxxx) | Get-Deployment staging | Set-Deployment <<<< -package MyTodo.cspkg -configuration ServiceConfiguration.cscfg -label …Run Code Online (Sandbox Code Playgroud) 我希望能够从正在运行的Web角色中获取名称(在创建托管服务时命名)和部署的位置(North Europe,Asia Anywere等).我不想依赖证书和订阅ID.
就像是:
// Current role name. Ex: WebRole_IN_0
RoleEnvironment.CurrentRoleInstance.Id
// Deployment id of the role. Ex: 44b522f7e8b94412b046bbab08116d87
RoleEnvironment.DeploymentId
Run Code Online (Sandbox Code Playgroud)
但只是返回部署名称和部署位置.
如果不使用订阅ID和证书文件通过REST API,这是否可行?
底部更新:
我正在尝试首次将测试应用程序上传到Windows Azure,并在创建凭据时遇到问题.
这些是我正在遵循的步骤:
我在Visual Studio中创建凭据和证书,并将证书上载到Azure,如下所示:
呼....
这就是我遇到问题的地方.....当我点击OK时弹出一个错误:
"Windows Azure连接错误""身份验证失败.验证您的凭据是否有效或再次下载.调试信息:n错误(请求已中止:请求已取消.)在通过HTTP通道传输数据时发生.请求是已中止:请求已取消.
如果我尝试从我的Visual Studio解决方案发布并以与上面类似的方式创建我的凭据,"Windows Azure发布登录"屏幕也会启动"Windows Azure项目管理身份验证"屏幕.按照上面7-13的相同步骤,我收到以下连接错误:
"Windows Azure连接错误""身份验证失败.验证您的凭据是否有效或再次下载.远程服务器返回意外响应:(502)代理错误(网站需要客户端证书,但无法提供客户端证书当HTTPS检查应用于请求时.).远程服务器返回错误:(502)Bad Gateway.
很长的帖子,为此道歉......任何Azure专家都可以提供帮助吗?
提前致谢!
更新 在进行了更多挖掘并开始完全理解错误消息之后,事实证明Forefront TMG正在阻碍并且通往Azure的隧道失败.它不会转发到我的计算机上的证书上.只是等待IT部门为我解决这个问题(希望如此!)
更新2
一旦IT为我排序(他们不得不绕过各种Azure域/ IP的代理,我还有一个问题:
There was no endpoint listening at https://management.core.windows.net/<Subscription_ID>/services/hostedservices that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. Unable to connect to the remote …
部署到Azure后,我不断收到服务器错误 - 应用程序无法运行.所以我在实例中做了一个远程桌面,发现web.config被彻底检修过......发生了什么事?我以为web.config是按原样打包的?相反,整个配置已被替换.当我用原始的,未改变的,正确的配置替换"新"版本时,我的应用程序按预期工作.
首先,这里发生了什么?我究竟做错了什么?通过这种方式,我可以理解并且不会在将来复制它.
其次,我该如何阻止这种行为?我希望部署原始的web.config - 而不是一些任意的冒名顶替者.谢谢!
当我想将我的云服务解压缩到azure时,我随时都会收到此错误:
Warning: Unable to connect to the remote serve
Run Code Online (Sandbox Code Playgroud)
我仔细检查了一切.云服务存在,订阅还可以.我尝试制作一个全新的云服务,即使是一个"空"的云wcf应用程序,但它们没有工作.
如果在Visual Studio中单击一个包(而不是发布)选项,并转到管理门户,并上传一个包,一切都很好,就可以了,但我想为部署启用intellitrace,而我可以看到任何选择这样做.我只能通过vs部署向导启用它.
你有什么主意吗?
谢谢,T
我正在使用Windows Azure,并且每次进行一些小的更改时都会发现很难和无用的新"包",并希望在云上进行测试.我听说有机会更新Web角色而无需每次重新部署整个实例(大约15分钟),并进行Web部署 - 只上传修改后的文件(几秒钟).
网上找到的资源似乎都没有描述这种特殊情况.
有关如何 在Azure Web角色上启用 Web Deploy的教程,但没有一个如何设置它的教程.[ 本教程显示的是设置,但不适用于Azure]
azure azure-web-roles webdeploy azure-configuration azure-deployment
我正在尝试将以下示例节点应用程序部署到Azure网站:
var http = require('http');
var port = process.env.port || 1337;
http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/html' });
try {
var canvasModule = require('canvas'),
canvas = new canvasModule(200, 200),
ctx = canvas.getContext('2d');
ctx.rotate(0.5);
ctx.font = '30px Impact';
var message = "Hello World";
ctx.fillText(message, 40, 40);
ctx.strokeRect(30, 5, 160, 50);
res.end('<html><img src="' + canvas.toDataURL() + '" /></html>');
} catch (e) {
res.end('Error: ' + e);
}
}).listen(port);
Run Code Online (Sandbox Code Playgroud)
棘手的部分是我正在使用一个名为" canvas " 的节点模块,需要在安装时使用node-gyp进行编译.
根据此 Microsoft页面,Azure网站不支持本机模块,并且应将模块的已编译版本复制到Azure以使应用程序正常工作:
本机模块
虽然大多数模块只是纯文本JavaScript文件,但某些模块是特定于平台的二进制映像.这些模块在安装时编译,通常使用Python和node-gyp.Azure网站的一个特定限制是,虽然它本身了解如何安装package.json或npm-shrinkwrap.json文件中指定的模块,但它不提供Python或node-gyp,并且无法构建本机模块.
由于Azure云服务依赖于作为应用程序一部分部署的node_modules文件夹,因此作为已安装模块的一部分包含的任何本机模块应在云服务中工作,只要它在Windows开发系统上安装和编译即可.
Azure网站不支持本机模块.某些模块(如JSDOM和MongoDB)具有可选的本机依赖项,并且可以与Azure网站中托管的应用程序一起使用.
我将所有内容部署到Azure(使用发布向导),所有文件都发送到Azure(显然至少),包括已编译的模块.在Azure上运行站点时,我获得以下异常: …
在Visual Studio Team Services(Visual Studio Online)中,我有三个发布环境,每个环境都有一个Azure Website Deploy步骤.
我可以通过指定拾取Web.Uat.config的"BuildConfiguration"变量(例如Uat)来转换构建步骤的web.config.
但是我有多个使用此构建配置的发布环境,它们都需要转换Web配置(例如Dev,Test,Uat,Live).
是否可以在Azure网站部署步骤之前指定要用于每个发布环境的Web配置转换?
注意:我意识到可以在Azure门户网站的"所有设置"下为网站指定简单的appsettings和connectionstrings,但我需要做的不仅仅是转换这些简单的设置,并且已经为我的解决方案中的每个环境配置了Web配置转换
我有一个2个插槽的应用程序。我已将连接字符串存储在密钥库中。我已在该应用程序和2个插槽上启用了MSI。另外,在保管库的访问策略中,我添加了该应用程序(生产插槽)。但是,我无法将插槽添加到访问策略。例如,我的应用程序名称为XYZ20180706,插槽为XYZ20180706 / dev和XYZ20180706 / test。但是当我在服务主体中键入XYZ20180706 / dev或XYZ20180706-dev时,找不到。
如何为部署槽创建访问策略?
仅在主插槽上启用它是不够的。如果我将应用程序部署到开发版插槽并运行它,则当前无法访问(对Vault)。
谢谢。
azure azure-deployment azure-deployment-slots azure-keyvault
我正在使用 Azure DevOps Pipeline 将 ASP.NET MVC 系统发布到 Azure Web 应用程序。
我已将构建配置为不应用 XML 转换,因此我可以稍后在发布步骤中应用它们,并且可以将相同的构建工件发布到多个环境中。
构建工作正常,我最终得到一个包含未转换的 web.config 和特定于环境的转换文件的人工制品。
Azure 应用服务部署任务有一个名为 XML 转换的复选框,其中显示以下帮助文本:
配置转换将为 *.Release.config 和 *.<EnvironmentName>.config 在 *.config 文件中运行。配置转换将在变量替换之前运行。仅 Windows 平台支持 XML 转换。
目前,我正在尝试将发布设置为测试环境,但Web.Release.config正在应用Web.Test.config. 我搜索了所有我能找到的地方来定义环境以使发布使用测试配置,但我找不到任何地方。
GitHub 上有一个类似的问题,显示了以下屏幕截图:
不幸的是,我的看起来不是这样:
我在做正确的事吗?如果是这样,我在哪里设置环境?
azure-deployment ×10
azure ×9
azure-devops ×2
asp.net ×1
c# ×1
node-modules ×1
node.js ×1
powershell ×1
web-config ×1
webdeploy ×1