Production deployment (GitLab edition)

How to deploy pre-production and production using stage

1. Fork repository <configurator> for stage

2. Update <configurator>/global/config.yaml

  • Change all credentials for production if it needs (e.g. GoogleAuth, url for payment interfaces etc.)

  • Change image names (this is necessary to protect the production code from unverificated changes, since <image>:latest can automatically changed by ci/cd)

e.g. backend image name

gitlab.tunex.io:5050/marionette-develop/backend:latest

change to

gitlab.tunex.io:5050/marionette-develop/backend:preprod

3. Remove ci/cd file in the configurator

It protect production from accidental changes

4. Duplicate all images with new tags

Pull <image>:latest image, retag it to <image>:preprod and push image with new tag to gitlab.

e.g. for backend image

docker pull gitlab.tunex.io:5050/marionette-develop/backend:latest docker tag gitlab.tunex.io:5050/marionette-develop/backend:latest gitlab.tunex.io:5050/marionette-develop/backend:preprod docker push gitlab.tunex.io:5050/marionette-develop/backend:preprod

5. Start system

Obtain a copy of a repository <configurator-preprod>. It is a good idea to use git clone (instead of download zip) to be able to receive updates easily by git pull.

Note: All shell commands in this section are executed in the Marionette Configurator root directory (the directory where the project was cloned/downloaded)

Fetch application dependencies

  • Check the run of the marionette tool:

You should receive:

Screenshot from 2024-01-31 12-19-21.png

 

Create key-pair for load balancer

Create a couple of RSA keys for use by Marionette project (use the source for information)

You may get similar to:

Check generated keys inside the current folder:

The result should be 2 generated keys:

Run render-config to create compose and config files from templates

The result should be like the next screen (all templates successfully 'Done'):

Pull Docker images

Pull Docker image to ensure availability/accessibility

In the success case You should get (all docker images pull will 'done'):

Note: There are cases of troubleshooting You can mostly get on the reason of not enough user rights for docker images or errors in configuration

 

To resolve similar troubles You should:

  • check proper settings in the Marionette configuration file global/config.yaml in case of errors in the configuration

  • provide the screen evidence to our technical staff to check your rights on the TuneX Docker images repository in case there are not enough user rights

Note: Follow the next step only if the current step is successful

Run all Marionette Stack services

All services will start and you should see all "green" done for each service:

Check services

example screen:

6. Create a new super-admin user and change the user account with the email “qa@tunex.io” (change password or banned)