Skip to content

Development

Paul Batum edited this page Aug 10, 2018 · 23 revisions

Environment requirements

  • VS 2017 (NOTE: For the 3.x version, dev branch, .NET Core 2.1 and Visual Studio 2017 15.7 is required)
  • Add a strong name skip verification entry to since the SDK assemblies are delay signed. To do this run sn -Vr *,31bf3856ad364e35 from a Visual Studio administrator command prompt. See Sn.exe documentation for details. Particularly the warning about only enabling this during development.

Building + Running Tests

  • Pull and build the source in VS (WebJobs.sln)
  • Set up the test storage account environment variables
    • AzureWebJobsStorage - Set this to your test storage account. If you don't have an Azure Storage account yet, create one.
    • AzureWebJobsSecondaryStorage - Set this to a secondary test storage account. The multi-account tests require this.
    • AzureWebJobsDashboard - Storage account that will be used for dashboard logging (can be same as above)
    • AzureWebJobsServiceBus - Set this to your Service Bus namespace connection string
    • AzureWebJobsServiceBusSecondary - Set this to your Service Bus secondary namespace connection string
    • AzureWebJobsTestHubConnection - Create an EventHub named webjobstesthub, create a shared access policy for that hub named "Default" with Manage rights, and set this to that connection string
    • AzureWebJobsTestHubConnection2 - Create an EventHub named webjobstesthub2, create a shared access policy for that hub named "Default" with Manage rights, and set this to that connection string
  • Open Test Explorer to view and run tests (we use XUnit)

Running the Dashboard Locally

  • Set up the dashboard account environment variables
    • StorageAccount - Set this to the storage account that you've configured the SDK to use
  • In the WebJobs solution, right click and "View in Browser"
  • Once the Dashboard page loads, click "Functions" to view recently executed functions, etc.

Running the dashboard as a private site extension

Follow similar instructions as here: https://github.com/Azure/azure-webjobs-sdk-script/wiki/Deploying-the-Functions-runtime-as-a-private-site-extension

  1. on the command line, go to the src\AzureJobs.Directory
  2. msbuild
  3. that will create a site extension folder containing the dashboard and .xdt. It will be at: src\AzureJobs.Directory\bin{version}
    That directory will contain an applicationHost.xdt, global.asax, etc, plus the published site (bin, contents, scripts, views).
  4. In Kudu, copy that site extension folder to your site at d:\home\SiteExtensions\AzureJobs.
  5. Restart the scm site. View your new dashboard at https://{site}.scm.azurewebsites.net/azurejobs
Clone this wiki locally