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:
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 configurationprovide 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)