使用PowerShell从VSO部署到Azure存储

使用PowerShell从VSO部署到Azure存储,powershell,deployment,visual-studio-2013,azure-devops,Powershell,Deployment,Visual Studio 2013,Azure Devops,是否可以使用PowerShell从VSO部署和/或查看VSO存储代码的文件系统 最近,我们已将源代码从本地TFS迁移到TFService/Visual Studio Online。在本地TFS上,我们有一个PowerShell脚本,可以将应用程序部署到Azure Blob 这是脚本的主体部分 1.创建暂存/临时文件夹 2.生成后复制bin目录 3.创建一个txt文件,从build agent上的AssemblyInfo.CS文件中提取版本,客户应用程序将检查该版本是否需要更新 4.创建一个.sq

是否可以使用PowerShell从VSO部署和/或查看VSO存储代码的文件系统

最近,我们已将源代码从本地TFS迁移到TFService/Visual Studio Online。在本地TFS上,我们有一个PowerShell脚本,可以将应用程序部署到Azure Blob

这是脚本的主体部分

1.创建暂存/临时文件夹

2.生成后复制bin目录

3.创建一个txt文件,从build agent上的AssemblyInfo.CS文件中提取版本,客户应用程序将检查该版本是否需要更新

4.创建一个.sql文件,该文件还从AssemblyInfo.CS文件中提取更新客户数据库的版本

5.将复制的bin和创建的.sql压缩在一起

6.将Zip和txt上载到Azure Blob

我们希望在VSO上继续使用此脚本进行部署,但当前的问题是,我在文件路径上盲目运行。我查看了构建日志,发现了C:\a\src和C:\a\bin,这是一个开始。我还能够在构建之后运行简单的命令,比如dir/mkdir,而不会返回错误,我假设这意味着我至少可以在某种程度上操纵VSO使用的文件系统


我也在msdn网站上发布了这个问题@

我想用我的问题的解决方案来更新这个问题

VSO存储C:\a\目录下的所有项目文件

源文件位于C:\a\src中\

bin目录位于C:\a\bin\

为了在项目中找到正确的文件,只需按照在Visual Studio或VSO中看到的项目路径进行操作

例如:

假设我有一个项目XYZ,其中包含我的BuildProcessTemplates和一个名为XYZ的目录,其中包含我的分支

为了访问XYZ的SRC,我的脚本必须以“C:\a\SRC\XYZprojectName\XYZdirectory\Version0101aBranch\anotherDirectory\thefileed.txt”为目标

您可以根据自己的需要操作VSO目录,因为您拥有所有C.R.U.D.功能

在本例中,我创建或重新创建一个临时文件夹

$prebuildSTAGING = "C:\a\PrebuildSTAGING"
function Set-Staging
{
    if(!(test-path $prebuildSTAGING))
    {
        mkdir $prebuildSTAGING -Force
    }
    else
    {
        rmdir $prebuildSTAGING -Recurse -Force
        mkdir $prebuildSTAGING -Force
    }
}
这将确保我每次都有新的暂存文件夹。 然后我选择我需要的文件,编辑它以满足我的需求,然后将它推回到SRC

这样做使我能够自动增加应用程序的程序集版本,并将其部署到Azure,而不会带来任何大麻烦

更新:::

只是想再次更新,以防有人真的以这种方式在VST上打包他们的应用程序--

目录现在已更改多次。访问生成文件的正确路径是C:\a\1\s\{YourProjectName}\bin\{YourBuildPlatform}{YourBuildConfiguration}\

例: VS=ABC中的解决方案名称,解决方案中的项目名称=XYZ 您有一个名为TEST的XYZ配置,其平台为x86

到垃圾箱的路径是 C:\a\1\s\XYZ\bin\x86\TEST