CircleCI
CircleCI is a fast CI solution with a great interface. They allow unlimited public repositories and have reasonable prices for private repositories.
Create an account at https://circleci.com/
Now would be a good time to also create a repository on GitHub for your project (if you haven't already) and commit/push your project.
git add -A
git commit -m "Server configs and eDeliver"
git push -u origin master
Go back to CircleCI and add your project.
- Click "Projects" in the left-nav
- Click "Add Project"
- Click on your account
- Find your repository and click "Build project"
You will see CircleCI booting a container and attempting to infer what kind of project you have. After a short while, it will fail because it does not have the requirements needed for a Phoenix project. Let's fix that!
Add a circle config to your project.
circle.yml
Notice the deployment section. This configuration tells Circle to deploy to the production server on successful builds on the master branch, and deploy to the staging server on successful builds to the staging branch.
Later you may want to tailor this config a bit, but for now, commit and push to GitHub.
git add -A
git commit -m "Add CircleCI config"
git push origin master
CircleCI will pick this up right away and start work. This build will take a while because CircleCI will have to download and compile Erlang (just like you did on the build server). We add asdf to cache_directories so that this only has to be done once. Subsequent builds should be much faster!