dockware
  • dockware doc's
  • News
  • Setup
    • Docker Setup
    • What Image should you use?
    • Performance Tweaks
  • Use Dockware
    • First Run
    • Update Dockware
    • Advanced Run
    • Default Credentials
    • Symfony or Shopware 5
    • Changelog
  • Features
    • Intro
    • Environment Variables
    • Adminer
    • Mailcatcher
    • Switch PHP Version
    • Switch Node Version
    • Tideways Profiling
    • Pimp my Log
    • Filebeat
    • SSH Users
    • MySQL Users
    • Shopware Currency
  • Development
    • Intro
    • Start Developing
    • Switch Branches
    • Debugging
    • Watchers
    • App Development
    • Update Shopware
    • Dockware Essentials
    • Custom Domains
    • Custom Images
    • Code Coverage
    • CLI Build Shopware 6 Plugin
    • Multi-Environment Setups
  • Contribute
    • Intro
    • Setup Github Version
    • Create Feature
    • Code Styles
    • Testing
    • Create Pull Requests
  • CI/CD
    • Github
    • Gitlab
    • Bitbucket
    • Buddy
  • Tips & Tricks
    • Create a new Project
    • Bind-Mounting
    • Persisting Data
    • Housekeeping
    • Online Servers
    • Performance on Mac
    • Security
  • FAQ
    • Sequel Pro
    • Dockware and other images
    • Scripts (PSH?)
    • Redis
    • Error Port not available
    • MySQL failed
    • Elasticsearch
    • Windows Problems
    • Chrome Problems
    • Import MySQL Dump
    • Shopware 5 Support
    • Use Https/SSL
    • Container hangs in Pipeline
    • Disable the admin worker
  • Additional Links
    • Imprint
    • Founders
    • Dockware website
    • Dockware in Shopware Slack
Powered by GitBook
On this page

Was this helpful?

  1. CI/CD

Gitlab

This page should give you instructions and some ideas on how to use dockware images in Gitlab workflows and pipelines.

Please keep in mind, these might not always be 100% accurate samples, because some things like installing dependencies and so on, might work different in your project. In fact, some of these things are only related to projects, but you should get the idea.

Are we missing something? Just let us know and we'd be happy to add it here!

Building and Testing

Dockware has been built to have everything on board that you need for a smooth Shopware developer experience.

You can of course use those images in your build pipeline for whatever task you need to do. This can range from simple dependency installation, on to building of storefront and administration as well as unit testing, execution of static analyzers and more. Everything you usually need should be already installed (of course no project dependent dependencies and tools haha).

To use dockware for your actions, just add a new step and provide any of the available dockware images. Then within your scripts, do whatever you want :)

Please note, to keep it simple, we've removed caching options of vendors, artifacts and more in the sample below. Let us know, if you need it :)

phpstan:
    image: "dockware/dev:6.4.14.0"
    script:
        - cd /var/www/html/custom/plugins/MyPlugin && composer install
        - cd /var/www/html/custom/plugins/MyPlugin && php vendor/bin/phpstan analyse -c phpstan.neon .
        
phpunit:
    image: "dockware/dev:6.4.14.0"
    script:
        - cd /var/www/html/custom/plugins/MyPlugin && composer install
        - cd /var/www/html/custom/plugins/MyPlugin && php vendor/bin/phpunit --configuration phpunit.xml.dist

install:
    image: "dockware/dev:${SW_VERSION}"
    parallel:
        matrix:
            -   PHP_VERSION: [ "7.4", "8.0" ]
                SW_VERSION: [ "6.4.0.0", "6.4.1.0", "latest" ]
    script:
        - cd /var/www/html/custom/plugins/MyPlugin && composer install
        - cd /var/www/html && php bin/console plugin:refresh
        - cd /var/www/html && php bin/console plugin:install --clearCache --activate MyPlugin
        - cd /var/www/html && php bin/console plugin:list

        

Thank you to Uwe (Kellerkinder) and Jonas (Basecom) for providing some great Gitlab examples for us!

PreviousGithubNextBitbucket

Last updated 2 years ago

Was this helpful?