2017-03-09 58 views
0

使用appveyor是简单的,如本文所描述部署蔚蓝的功能来部署与蔚蓝的功能以及自定义DLL - https://alastairchristian.com/deploying-azure-functions-from-appveyor-75fe03771d0c#.x7stvprna如何使用appveyor

而且什么我无法弄清楚是如何部署自定义DLL(/bin文件夹中的相同库的一部分)以便能够使用#r并使用该引用。

手动过程只是使用Kudu复制/ bin文件夹中的dll文件并开始使用它。

也请参阅本讨论appveyor - http://help.appveyor.com/discussions/questions/2842-deployment-to-azure-function-app

这里是我的appveyor.yml -

- 
    branches: 
    only: 
     - master 

    version: 0.0.{build} 
    os: Visual Studio 2015 
    configuration: Release 
    init: 
    - nuget sources update -Name nuget.org -Source https://api.nuget.org/v3/index.json 
    environment: 
    SolutionDir: $(APPVEYOR_BUILD_FOLDER)\ 
    cache: 
    - packages -> **\packages.config 
    assembly_info: 
    patch: true 
    file: '**\AssemblyInfo.*' 
    assembly_version: '{version}' 
    assembly_file_version: '{version}' 
    assembly_informational_version: '{version}' 
    before_build: 
    - nuget restore -verbosity detailed 

    build: 
    verbosity: normal 
    project: MyLibrary\MyLibrary.csproj 
    publish_wap: true 
    publish_azure: true 
    parallel: true 

    artifacts: 
    - path: AzureFuncCIPOC 
    name: AzureFuncCIPOC 

    deploy: 
    - provider: WebDeploy 
    server: https://functioncipoc.scm.azurewebsites.net:443/msdeploy.axd?site=FunctionCIPOC 
    website: FunctionCIPOC 
    username: $FunctionCIPOC 
    password: 
     secure: <secure> 
    artifact: AzureFuncCIPOC 

回答

2

如果您的构建过程正在建设图书馆和移动输出(您的自定义DLL),使被封装在AppVeyor创建的工件中,它将与脚本一起部署。

+0

我不知道怎么做,在这种情况下 – Abhishek

+1

有几种方法可以做到,但是生成后动作/脚本(无论是作为部分项目或AppVeyor)将您的DLL复制到AzureFunctionCIPOC文件夹中的适当位置,应该可以为您提供所需的内容。 –

+0

Fabio,根据我对WebDeploy的理解,您无法访问'bin'文件夹,对吧?我提出了一些解决方法[这里](http://help.appveyor.com/discussions/questions/3419-how-to-deploy-custom-dll-along-with-azure-function) – ilyaf

0

我能够将所需的dll复制为项目构建后事件,然后使用与张贴的问题相同的.yml来实现我之后的功能。真的希望当VS2017的Azure Functions工具启动时,VS 2017将会有更好的支持。

下面

是生成后事件命令

if not exist "$(SolutionDir)AzureFuncCIPOC\\ManualTriggerCSharp\bin\" mkdir "$(SolutionDir)AzureFuncCIPOC\\ManualTriggerCSharp\bin\" 
copy /y "$(TargetDir)" "$(SolutionDir)AzureFuncCIPOC\\ManualTriggerCSharp\bin\" 
+1

这正是我在下面推荐的内容:) 是的,我们工具的下一个版本将会对这种情况有更好的支持。 –

+1

期待! – Abhishek

+0

如果下面的答案有帮助,请将其标记为答案以确保其他人也能获得帮助。 –