/// <summary> /// Deploy local directory to KuduWebsite /// </summary> /// <param name="client">The Kudu client.</param> /// <param name="localPath">The local directory path.</param> /// <remarks>This will zip the folder in-memory.</remarks> /// <example> /// <code> /// #addin nuget:?package=Cake.Kudu.Client /// /// string baseUri = EnvironmentVariable("KUDU_CLIENT_BASEURI"), /// userName = EnvironmentVariable("KUDU_CLIENT_USERNAME"), /// password = EnvironmentVariable("KUDU_CLIENT_PASSWORD"); /// /// IKuduClient kuduClient = KuduClient( /// baseUri, /// userName, /// password); /// /// DirectoryPath sourceDirectoryPath = "./Documentation/"; /// /// kuduClient.ZipDeployDirectory( /// sourceDirectoryPath); /// </code> /// </example> public static void ZipDeployDirectory( this IKuduClient client, DirectoryPath localPath) { client.ZipDirectoryToMemoryStream( localPath, sourceStream => client.HttpPostStream( "/api/zipdeploy", sourceStream)); }
/// <summary> /// Deploys zip stream Kudu website. /// </summary> /// <param name="client">The Kudu client.</param> /// <param name="sourceStream">The source stream.</param> /// <example> /// <code> /// #addin nuget:?package=Cake.Kudu.Client /// /// string baseUri = EnvironmentVariable("KUDU_CLIENT_BASEURI"), /// userName = EnvironmentVariable("KUDU_CLIENT_USERNAME"), /// password = EnvironmentVariable("KUDU_CLIENT_PASSWORD"); /// /// IKuduClient kuduClient = KuduClient( /// baseUri, /// userName, /// password); /// /// DirectoryPath sourceDirectoryPath = "./Documentation/"; /// FilePath zipFilePath = "./Documentation.zip"; /// /// Zip(sourceDirectoryPath, zipFilePath); /// /// using(Stream sourceStream = kuduClient.FileSystem.GetFile(zipFilePath).OpenRead()) /// { /// kuduClient.ZipDeployStream( /// sourceStream); /// } /// </code> /// </example> public static void ZipDeployStream( this IKuduClient client, Stream sourceStream) { if (client == null) { throw new ArgumentNullException(nameof(client)); } if (sourceStream == null) { throw new ArgumentNullException(nameof(sourceStream)); } client.HttpPostStream( "/api/zipdeploy", sourceStream); }