Controlled software release

Deployment automation

More safety and reliability in software commissioning. Automation is the key to more efficiency and the minimization of error sources.

Work carried out manually and repetitive processes that require specific configurations are prone to errors and require a great deal of time if carried out manually. "Deployment" means the process of making software or source code available on a target system.

For deploying platforms for our customers, we use defined workflows YAML files and bash scripts that contain all commands necessary for deploying the software as well as closing security holes (patches) and system updates. By merging a release into a target system branch, the automatisms are triggered. In this way, we ensure that your application is optimally and cost-effectively deployed on the target system.

As a rule, software goes through various development cycles. When the software is ready for publication (release), it is first deployed and tested on a test or acceptance server . The software is then tested again there and only then is it (automatically) deployed in the production system. There, the software is tested again and only then (automatically) imported into the production system. 

Rely on our expertise to guarantee a secure and smooth platform operation .

Bitbucket Pipelines

We use pipelines to automate our deployments. When a commit is made to a defined branch, a Docker instance is automatically booted on Pipelines (in an image defined by us). After that, various tests are triggered, which have to pass the build process successfully. Upon a successful build, further actions outside of pipelines are triggered to deploy the software to the selected target environment. Below is an example of a bitbucket-pipelines.yaml configuration.

image: docker:stable options: max-time: 45 docker: true pipelines: branches: 'staging': - step: deployment: staging script: - echo staging 'production': - step: deployment: production script: - echo production '{master,develop,feature/**,release/**,bugfix/**,hotfix/**,support/**}': - step: name: Behat without Javascript script: - deploy/config_pipelines/pipelines-build.sh docker-compose.yml - docker-compose run -u 1000 --entrypoint deploy/ config_pipelines/ pipelines-behat.sh cloudtec artifacts: - var/log/behat/*.log - var/log/behat/*.png - var/log/behat/*.html - step: name: Behat Javascript only script: - deploy/config_pipelines/pipelines-build.sh docker-compose-with-chrome.yml - docker-compose run -u 1000 --entrypoint deploy/ config_pipelines/ pipelines-behat-javascript-only.sh cloudtec artifacts: - var/log/behat/*.log - var/log/behat/*.png - var/log/behat/*.html definitions: services: docker: memory: 3072