ABC: Always Be Continuous integration

The future is here.

No longer do you have to rely on FTP or manually pushing code. This makes development life so much easier. You can run automated tests, ensure QA has the latest versions, make smaller iterations with greater ease, and get your code to production faster than ever before.

If you’re still relying on manually deploying files, now is the time to change.

Static Site

Running a static site — try Github pages. Github gives every user and repo the ability to host a site. If you’re using the user sites, create a repo called

<username>.github.io

and every time you push to `master`, it’ll update the site automagically.

If you want a site for your repo, it’ll be located at

<username>.github.io/<repo-name>

and is connected to the branch, `gh-pages`. After you merge PR’s into `master`, merge `master` into `gh-pages` and then push. Boom, updates are sent to your github page URL.

You can also point custom domains to the github pages, so you’re not restricted to the github urls.

Dynamic site

Running a site that is much more complex, or would prefer custom hosting solutions? Try one of these CI/CD services:

Codeship
CircleCI
Travis CI
DeployBot
Snap

You’re able to add automated tests, deployment configs, choose from a variety of endpoints and databases to use; along with a whole plethora of additional features.

You can deploy every time a change is pushed to `master`, or you can setup environments based on branches to allow QA to test before you merge into master.

They all offer a free plan, although some are limited to public and/or open source projects only. The paid pricing tiers vary greatly between each service.


Have you used any of these services? Share your experiences below.