*********************** Deployment Instructions *********************** Continuous Integration ====================== Continuous delivery is a software development practice where code changes are automatically prepared for a release to production. A pillar of modern application development, continuous delivery expands upon continuous integration by deploying all code changes to a testing environment and/or a production environment after the build stage. When properly implemented, developers will always have a deployment-ready build artifact that has passed through a standardized test process. Continuous delivery lets developers automate testing beyond just unit tests so they can verify application updates across multiple dimensions before deploying to customers. These tests may include UI testing, load testing, integration testing, API reliability testing, etc. This helps developers more thoroughly validate updates and pre-emptively discover issues. With the cloud, it is easy and cost-effective to automate the creation and replication of multiple environments for testing, which was previously difficult to do on-premises. Deployment Process Flow ======================= .. figure:: ../graphics/deployment_pipeline.svg :width: 100% Deployment Instructions ======================= 1. Log into your VM and create the :download:`Folder Structure <../media/instruments_db.zip>` 2. Change to the directory .. code:: console cd instruments_db/deployment 3. Login into the registry .. code:: console docker login jugit-registry.fz-juelich.de 4. Pull the images from the registry and run the container in detach mode: .. code:: console docker-compose pull 5. Run the docker system in detach mode .. code:: console docker-compose up -d 6. Stop and remove the container .. code:: console docker-compose down