14

Best file to server deployment strategy for small sites

almost 7 years ago from , Front End Developer & Designer

What do people recommend as a file deployment strategy? My current hosting doesn't support GIT on the server, and I'm unsure how I can deploy from BitBucket/Github to a standard shared hosting account? I'm still FTP-ing files like the old days, but find this very frustrating and not user friendly - especially when working on WP sites! Any recommendations? Cheers!

20 comments

  • Tim Knight, almost 7 years ago (edited almost 7 years ago )

    You could use something like DeployBot to deploy your changes from you Git server (like Github or BitBucket) to any type of server, including just having it just S/FTP the files up for you. If you're using any Grunt or Gulp scripts you can also have DeployBot execute those during the deployment process. But that way you can focus on a Git-based workflow instead of messing with FTP.

    6 points
  • Baylor Rae', almost 7 years ago

    A couple of existing options you can look at are deploybot and beanstalk - I've not used these myself but I'm aware they are able to deploy via sftp from a git repo.

    If you're comfortable getting your hands a little dirty and using the command line you should definitely look at Capistrano. I wrote a blog article on deploying to a shared hosting platform as well if you need to update the files at ~/public_html

    4 points
    • Nathan HueningNathan Huening, almost 7 years ago

      +1 for beanstalk. You can set up auto-deploy for staging and manual for production. All done via SSH, based on commits / pushing to master, without you having to touch a single file via FTP. Highly recommended! And quite affordable.

      0 points
  • Anthony Short, almost 7 years ago

    If your sites are static or node-based:

    https://zeit.co/now or http://surge.sh

    One command for each of them, and boom, on the internet.

    2 points
  • Dominik SchmidtDominik Schmidt, almost 7 years ago (edited almost 7 years ago )

    I am always going with a custom script (mostly if clients just want a preview of the page) that is going to deploy the html page to an s3 bucket and then the link is pulled out.

    If I am going to deploy Ruby on Rails I am using Capistrano

    If I am going to deploy Wordpress, I am currently looking into Flywheel

    If I am going to deploy a static page for production, I am going with rsyncwrapper and writing a custom node script again.

    1 point
  • Bob Orchard, almost 7 years ago

    If you're doing WP sites, check out Flywheel and Flywheel Local (formerly Pressmatic)

    1 point
    • Dominik SchmidtDominik Schmidt, almost 7 years ago

      Just got spammed by Flywheel on Facebook Ads. But nice service. Definitely looking into this one for the next WP project.

      0 points
  • David HellmannDavid Hellmann, almost 7 years ago

    http://buddy.works

    1 point
  • , almost 7 years ago

    Thanks all. I should've noted that ideally I'd be looking for free/open source solutions - as my work load doesn't really justify paid. However I realise this probably limits the options a lot!

    1 point
  • Dimitrie Hoekstra, almost 7 years ago

    You should take a look at https://pages.gitlab.io/ and GitLab CI & CD, with which you can easily setup a whole custom testing and delivery pipeline by just creating a gitlab-ci.yml file within your repository. To which end point it delivers is all up to you. GL

    1 point
  • , over 6 years ago (edited over 6 years ago )

    Great recommendations here! Personally I found the best/easiest solution for me was git-ftp combined with Bitbucket pipelines to deploy from commits. This solved the issue of not having Git installed on my hosting server (limitation of the shared account type I have), by FTP-ing files from Git commit pushes. Thanks again all.

    0 points
  • Ola Christensson, almost 7 years ago

    Dploy works really nice. Simple and straightforward.

    0 points
  • Chris JohnsonChris Johnson, almost 7 years ago

    As many have suggested here, Zeit.co/now for static/node/ or docker based apps. For everthing else i would recommend setting up a script for Capistrano. Can deploy to anywhere you like.

    0 points
  • Mathieu CMathieu C, almost 7 years ago

    I use Git locally and deploy with rsync for my personal projects. Really easy with one alias. FTP is really an old usage. Also we use Capistrano in our dev team

    0 points
  • Andrew ConnAndrew Conn, almost 7 years ago

    codeship.com might do it.

    0 points
  • Weston VierreggerWeston Vierregger, almost 7 years ago (edited almost 7 years ago )

    Brought this up in an earlier thread, but if you're OK with the command line, git, and the "linux basics" the I highly recommend Dokku. It's easy to install on Ubuntu VPS's, or DigitalOcean has a Dokku OS image you can spin up directly.

    http://dokku.viewdocs.io/dokku/

    0 points
  • Geoff YuenGeoff Yuen, almost 7 years ago

    Give gitftp a whirl: https://github.com/git-ftp/git-ftp

    0 points
  • Jason EtcovitchJason Etcovitch, almost 7 years ago

    I can't speak to Heroku enough; not only can you setup automatic deploys for every time Git branch is pushed to (like master), it takes literally 5 minutes to set up a new site. I've never used it for PHP-based things like WP, but I'm sure it would handle it really well.

    0 points