Application deployment

We use the continuous delivery approach, sometimes also called continuous integration, to deploy new versions of our websites.

This approach includes an automated build service that runs your automated test suite, which can usually also deploy the latest changes to the server if the build passes.

Why?

Mina

Mina is the deploy tool we're currently using. It's being maintained by our very own @d4be4st, so if you run into any issues with it, you can always ping him.

Since Mina shouldn't be used directly for deployment, we won't go into extreme lengths about it in this article. You can read more about the deployment process with Mina in the README.md of the Mina repository.

Semaphore

Semaphore is the build service we're currently using. Semaphore supports notifications through instant messaging software, emails, and other methods. It also supports automated deployments, which have to be configured separately.

Semaphore uses Mina for deployment in the background, and you can check other projects for details on how to set up deployment.

New projects on Semaphore can only be created by admin users, so if you need to create a new project, be sure to contact your team lead.

Git and continuous delivery

Using continuous delivery for deploying our applications requires some care when handling Git branches.

Sources