> For the complete documentation index, see [llms.txt](https://docs.dockware.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dockware.io/tutorials/ci-cd-tutorials/gitlab.md).

# 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.

{% hint style="info" %}
Are we missing something? Just let us know and we'd be happy to add it here!
{% endhint %}

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

{% hint style="info" %}
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 :)

Also, our new dockware/shopware images focus on new Shopware versions. But you can of course use the old dockware/play (or dev) images. They are still existing and working
{% endhint %}

```yaml
phpstan:
    image: "dockware/shopware:6.7.2.2"
    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/shopware:6.7.2.2"
    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/shopware:${SW_VERSION}"
    parallel:
        matrix:
            -   PHP_VERSION: [ "7.4", "8.0" ]
                SW_VERSION: [ "6.7.2.2", "6.7.2.1", "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

        
```

{% hint style="success" %}
Thank you to Uwe (Kellerkinder) and Jonas (Basecom) for providing some great Gitlab examples for us!
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.dockware.io/tutorials/ci-cd-tutorials/gitlab.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
