Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zip Push Deployments #1877

Closed
xt0rted opened this issue Oct 23, 2017 · 7 comments
Closed

Zip Push Deployments #1877

xt0rted opened this issue Oct 23, 2017 · 7 comments

Comments

@xt0rted
Copy link

xt0rted commented Oct 23, 2017

As of last week Kudu now supports Zip Push Deployments which seem to be the successor to Web Deploy on App Services (they work for websites, webjobs, and functions). It'd be nice to see support for this added in. I was actually in the process of trying to setup web deploy but the zip push seems much simpler to setup, would love to go that route instead.

@FeodorFitsner FeodorFitsner added this to the next-images-update milestone Oct 23, 2017
@FeodorFitsner
Copy link
Member

Great news, thanks for letting us know! We'll start working on a new provider for Zip Push deployments.

@xt0rted
Copy link
Author

xt0rted commented Nov 8, 2017

Do you have an idea as to when this might be available to use? I'm just wondering for scheduling some time to start revamping my deployment scripts & process.

@johnkors
Copy link

johnkors commented Nov 8, 2017

@xt0rted Cake sample to do Zip Push Deploys:

        var deployZip = "./deploy/deploypackage.zip";
        Zip("./publish", deployZip , "./publish/**/*");
        var siteName = "your-azure-sitename";
        var zipPushUrl = $"https://{siteName}.scm.azurewebsites.net/api/zipdeploy";
        var user = EnvironmentVariable("AzureDeployCredentials");
        var curlParams = $"-u {user} --data-binary \"@{deployZip}\" --url {zipPushUrl}";
        StartProcess("curl", curlParams);

@xt0rted
Copy link
Author

xt0rted commented Dec 29, 2017

I was looking into doing this with the deploy_script section but I wasn't sure how this was triggered (don't want PRs deploying for instance). In the end I decided to wait for a deploy provider since the process should be easier to setup and I won't have to litter my appveyor.yml with deployment settings which should be environment specific.

There's a few things I need to do pre/post deployment which are

  • ping bing & google with my new sitemap
  • ping app insights & raygun with the deployment info
  • run ef code first migrations

Will I be able to do those things with the zip deploy provider? The web deploy provider looks like it lets me do those things, but the publishing tools for .net core are lacking and you can't package up a website and webjobs, but you can publish them all to a folder for manual zipping.

@IlyaFinkelshteyn
Copy link
Contributor

@xt0rted

  • provider is already implemented, testing it in staging environment now. It should be deployed soon after holidays
  • it is standard deployment provider and sure it can be wrapped up with before/after deployment script
  • can you please elaborate .net core publishing part? You mean that you have to do dotnet publish manually? Please provide more details, we need it because this is last part of 1st class support for 'dotnet' tooling #1404 we are working now.

@xt0rted
Copy link
Author

xt0rted commented Jan 14, 2018

@IlyaFinkelshteyn my comment on .net core publishing was around how the tooling has changed for webjobs.

With pre .net core you could use the Microsoft.Web.WebJobs.Publish package and when building for deployment the webjobs projects would be built and automatically added to the app_data folder in all the correct locations based on the config setup (both publishing to a folder or web deploy package).

With .net core this publishing package no longer works and instead you need to use the new publish tasks that are part of aspnet/websdk.

So far I've only been able to publish individual projects to a folder or web deploy package, but I haven't been able to publish all projects to a web deploy package. This is where the zip deploy helps because I'll be able to publish each project (website & webjobs) to the same folder, zip it up, and then deploy to azure as normal.

What I'm working with right now was recommended in Azure/azure-webjobs-sdk#1407 when I asked if there was an alternative to that publish package.

@IlyaFinkelshteyn
Copy link
Contributor

It is out, do is here. Please open new issue if something does not work as expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants