Possible to deploy console applications to AWS EC2

Jeff's Avatar

Jeff

09 Jul, 2013 03:04 AM

Hi,

With AppVeyor, can you automatically deploy .NET console applications? Similar to how Beanstalk works for IIS, is it possible to publish the console application to EC2 (s)?

Thanks,
Jeff

  1. Support Staff 1 Posted by Feodor Fitsner on 09 Jul, 2013 03:45 AM

    Feodor Fitsner's Avatar

    Hi Jeff,

    Thanks for your interest in AppVeyor!

    At the moment it's not possible, but deploying console apps to Windows machines is definitely a goal and will be implemented by the end of summer!

    We plan to have at least 3 deployment scenarios in AppVeyor:

    1. Run "deployment script" - this could be batch file or PowerShell script with pretty much anything inside. You can use it to, say, FTP artifacts or WebDeploy them to remote server, deploy to Azure or push to NuGet feed.
    2. Deploy to Windows Azure Cloud Services - for deploying Azure CS packages (.cspkg) to Windows Azure.
    3. Deploy to Windows Environment - the most advanced and flexible method for deploying web apps, console apps and windows services. Will support clustered environments, requires installation of AppVeyor Deployment Agent on all environment machines.

    #1 is currently in development and will be released in a week or so.

    Regarding your scenario, I guess just deploying console app to the server is not enough and most probably you'd like to run the app once it's deployed?

    -Feodor

  2. 2 Posted by Jeff Monson on 09 Jul, 2013 03:59 AM

    Jeff Monson's Avatar

    Hi Feodor,

    Sounds like you guys have some great stuff in the works, I look forward to
    checking it out.

    Yes, you're correct. Right now, there seems to be a lack of functionality
    within AWS to deploy .NET console apps to servers. To overcome this, I've
    setup something similar to what you were mentioning using TeamCity for CI:

    -Application is built
    -Powershell script uploads binaries to S3 (using AWS Toolkit)
    -Powershell script issues EC2 restart
    -EC2 contains AMI with task schedule that downloads binaries from S3 and
    installs and starts the application

    This solution is somewhat acceptable, but doesn't seem super clean. The
    console application we're installing is a backend service, so we really
    want some kind of elasticity control as well. I was working on a method
    using WebDeploy to fire off the download and install script, but it seemed
    just as messy.

    Thanks,
    Jeff

  3. Support Staff 3 Posted by Feodor Fitsner on 09 Jul, 2013 08:34 PM

    Feodor Fitsner's Avatar

    Hopefully that will be a cool thing giving a complete solution without re-inventing the wheel. Thanks for sharing your scenario though!

    AppVeyor Deployment Agent will work in a "pull" mode, i.e. you don't need to know external IP of the machine or even not enabling external access at all. After the app is deployed there will be an option to run post-deployment PS script. All this should cover most of your needs. Also, I have a working prototype for uploading build artifacts to S3, DropBox and FTP, so minus one step in your solution.

    Btw, have you thought about using Remote PowerShell instead of instance reboot? We did it in the past and it worked great. You can attach elastic IP to that instance and allow only certain inbound IPs on the firewall.

  4. 4 Posted by Jeff Monson on 09 Jul, 2013 08:44 PM

    Jeff Monson's Avatar

    Duh, Remote PowerShell is definitely a better solution. Thanks for the
    advice, I'll set this up.

    Sorry, switching gears, but is it possible to use a GitHub fetch URL in
    AppVeyor? Maybe because I signed up using GitHub, but it appears AppVeyor
    is only looking at my Public/Private repositories that I own, but doesn't
    seem to find repositories I contribute to.

    Thanks,
    Jeff

  5. Support Staff 5 Posted by Feodor Fitsner on 09 Jul, 2013 08:55 PM

    Feodor Fitsner's Avatar

    Yes, right now it's listing repos under your account only.

    I will add feature request to implement "generic" Git provider where you specify URL and username/password (optionally).

  6. 6 Posted by Jeff Monson on 09 Jul, 2013 08:56 PM

    Jeff Monson's Avatar

    Awesome. Thanks again and good luck, look forward to watching the progress!

  7. Support Staff 7 Posted by Feodor Fitsner on 09 Jul, 2013 08:57 PM

    Feodor Fitsner's Avatar

    Yeah, stay in touch!

  8. Feodor Fitsner closed this discussion on 09 Jul, 2013 08:57 PM.

  9. Feodor Fitsner re-opened this discussion on 18 Jul, 2013 05:28 PM

  10. Support Staff 8 Posted by Feodor Fitsner on 18 Jul, 2013 05:28 PM

    Feodor Fitsner's Avatar

    Hi Jeff,

    There is an update to AppVeyor and two things that might be interested to you:
    1) "Deployment" step is available and it's possible now to run deployment script (whether .ps1 or .cmd). Inside the script you can get the list of artifacts and paths to their archives.
    2) It's possible to configure custom AWS S3 or Azure Blog storage on account level for storing artifacts, so you don't have to copy them to S3 - AppVeyor will do that.

    I'm working on documentation for this feature and some blue scripts. I tried running remote PowerShell commans against Azure VM and it worked pretty well. Let me know if you want to test it and we'll look into it together.

    -Feodor

  11. 9 Posted by Jeff Monson on 01 Aug, 2013 04:05 PM

    Jeff Monson's Avatar

    Hey, thanks for the update! Sorry I didn't get back to you sooner, been out
    of the country. I don't own the source code I was going to test with
    AppVeyor and the owners want to keep things internal. Do you have any
    whitepapers on security and processes used by AppVeyor?

    Thanks,
    Jeff

  12. Support Staff 10 Posted by Feodor Fitsner on 02 Aug, 2013 05:20 AM

    Feodor Fitsner's Avatar

    You can take a look at Getting Started guide where each steps has notes about security). I'm working on a separate document addressing various security and privacy questions you might have while using AppVeyor.

    ...or if you have any specific concerns please let me know.

  13. 11 Posted by mmihajlovic on 18 Jun, 2014 01:18 PM

    mmihajlovic's Avatar

    You mentioned dropbox a little earlier in this thread. How would I go about deploying using dropbox?

  14. Support Staff 12 Posted by Feodor Fitsner on 18 Jun, 2014 05:26 PM

    Feodor Fitsner's Avatar

    DropBox support is not yet ready, but thanks for your interest.

  15. 13 Posted by mmihajlovic on 18 Jun, 2014 06:45 PM

    mmihajlovic's Avatar

    Ok thanks. What about the download section on bitbucket? Any way to upload there?

  16. Support Staff 14 Posted by Feodor Fitsner on 18 Jun, 2014 06:58 PM

    Feodor Fitsner's Avatar

    If they do have an API for that then it's possible.

  17. 15 Posted by tucaz on 27 Oct, 2014 07:56 PM

    tucaz's Avatar

    Hi Feodor,

    did you had the chance to write about uploading artifacts to S3 and also about deploying console apps to EC2?

    Thanks

  18. Support Staff 16 Posted by Feodor Fitsner on 27 Oct, 2014 10:04 PM

    Feodor Fitsner's Avatar

    Take a look at this article: http://www.appveyor.com/docs/deployment/agent and especially Deploying artifact package as a Windows application section.

    For deploying to S3: http://www.appveyor.com/docs/deployment/amazon-s3

    Let me know if you have any questions.

  19. Ilya Finkelshteyn closed this discussion on 25 Aug, 2018 01:49 AM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac