作为Azure DevOps发布管道的一部分,我希望重命名一些。将文件配置为
。配置。已禁用
,在我的“部署Azure应用程序服务”任务完成后。
我试图添加一个额外的“部署Azure应用程序服务”任务,但这似乎覆盖了上一个任务,只剩下
。配置。已禁用wwwroot中的
文件。
在Azure web应用程序中,是否有其他方法(FTP上载任务除外)可用于重命名/部署文件子集?
如果你不想使用FTP,你可能会成功尝试使用支持Azure Web应用的Kudu服务。
要查看Kudu服务,请导航到https://
通过身份验证后,您会发现有一种方法可以浏览文件、查看正在运行的进程,还有一个交互式控制台,允许您对文件系统运行基本的DOS或PowerShell命令。
交互式控制台很棒,但要使其自动化,可以使用REST API对文件系统发出命令。
有几个向服务器发出命令的示例。在PowerShell中:
# authenticate with Azure
Login-AzureRmAccount
$resoureGroupName = "your-web-app-name"
$websiteName = "your-resource-group-name"
$env = @{
command= 'Set COMPUTERNAME'
dir= 'site'
}
$json = $env | ConvertTo-Json
$env2 = @{
command= 'copy filename.config file.config.notused'
dir= 'site\wwwroot'
}
$json2 = $env2 | ConvertTo-Json
$env3 = @{
command= 'delete filename.config'
dir= 'site\wwwroot'
}
$json3 = $env3 | ConvertTo-Json
# setup auth header
$website = Get-AzureWebsite -Name $websiteName
$username = $website.PublishingUsername
$password = $website.PublishingPassword
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$password)))
$apiBaseUrl = "https://$($website.Name).scm.azurewebsites.net/api"
[System.Uri]$Uri = $apiBaseUrl
# get all the vms in the web-app
$instances = Get-AzureRmResource -ResourceGroupName $resoureGroupName `
-ResourceType Microsoft.Web/sites/instances `
-ResourceName $websiteName `
-ApiVersion 2018-02-01
#loop through instances
foreach($instance in $instances)
{
$instanceName = $instance.Name
Write-Host "`tVM Instance ID `t`t: " $instanceName
#Now execute 'SET COMPUTER' cmd
$cookie= New-Object System.Net.Cookie
$cookie.Name = "ARRAffinity"
$cookie.Value = $instanceName
$Cookie.Domain = $uri.DnsSafeHost
$session=New-Object Microsoft.Powershell.Commands.WebRequestSession
$session.Cookies.add($cookie)
$response = Invoke-RestMethod -Uri "$apiBaseUrl/command" `
-Headers @{Authorization=("Basic {0}" `
-f $base64AuthInfo)} `
-Method Post -Body $json `
-ContentType 'application/json' `
-WebSession $session
Write-Host "`tVM Instance Name `t: " $response
# perform copy file
$response = Invoke-RestMethod -Uri "$apiBaseUrl/command" `
-Headers @{Authorization=("Basic {0}" `
-f $base64AuthInfo)} `
-Method Post -Body $json2 `
-ContentType 'application/json' `
-WebSession $session
Write-Host "`tCopy file result `t: " $response
# perform delete file
$response = Invoke-RestMethod -Uri "$apiBaseUrl/command" `
-Headers @{Authorization=("Basic {0}" `
-f $base64AuthInfo)} `
-Method Post -Body $json3 `
-ContentType 'application/json' `
-WebSession $session
Write-Host "`tCopy file result `t: " $response
}
文件系统支持复制和删除等基本命令,因此可以轻松重命名文件。
问题内容: 我正在向其中部署文件,并希望将其他文件包括到该段中,如下所述: 使用Heroku CLI配置WAR部署 它成功部署了文件,但是在扩展应用程序的任何子文件夹中我都找不到文件。同时,存档中的所有其他文件都在其位置上,其他 文件也仅此而已。我试图添加一些具有相同结果的文件: 问题: heroku在哪里包括其他文件?如何前往那里? 这是heroku-cli的输出: 问题答案: 这些文件将被添加
我的名为“TestProject”的Java/Maven项目与我的jenkins and nexus repo挂钩: 我的pom.xml看起来是: 正如预期的那样,jenkins将工件上传到Nexus,看看jenkins build的控制台输出,如下所示: 问题是: 如果我在pom.xml中指定的版本是
问题内容: 我的java / maven项目“ testproject”与我的jenkins和nexus回购挂钩: 我的pom.xml看起来像: 在我的詹金斯设置中,我有: 正如预期的那样,jenkins将工件上传到Nexus。查看jenkins build的控制台输出,如下所示: 问题是 : 鉴于我在pom.xml中指定的版本是 jenkins为何将testproject- 0.1-201205
这份文档将说明如何在网站的非根文件夹下通过 Apache/Nginx 部署 Seafile。 注意: 请先阅读 Nginx 下配置 Seahub 或者 Apache 下配置 Seahub. Nginx 下部署 首先更改 seahub_settings.py 中一些变量的值: SERVE_STATIC = False MEDIA_URL = '/seafmedia/' COMPRESS_URL =
问题内容: 我使用此命令查找具有给定模式的文件,然后将其重命名为其他文件 运行此命令时,我看到一些类似的输出 但是最后,当我运行时,我看到了旧文件名。 问题答案: 您正在回显’mv’命令,而不是实际执行它。改成:
我有一个Spring Boot应用程序qsysprereg2-1.0.jar。我将git已经编译好的jar文件+Procfile+文件夹“config”和应用程序的文件“config/config.properties”推入heroku。只是一些财产。我只有: 全部编译和部署成功。 其中没有来自Git的文件夹“config”。但“config/config.properties”已被推入Git。