# Continuous Integration and Deployment (CICD)

Oliasoft develop its software and services and release up to many times per day. When a developer is done with a new feature or bugfix, it is first tested locally on the developers machine. Then he submits an update to either our production servers or test servers. Automated procedures then takes the update and runs it through a suite of automated tests. Assuming all tests passes, the developer is given the option to deploy the update simply by pushing a button.

When deploying, our servers pulls down the latest updates, runs tests again, and on success the servers update themselves, rebuilds software assets (javascript bundles etc) and finally restarts any relevant services. We are currently using Gitlab for CICD.
