From 523ebf3ede1b4cd04651cd753d314786ab4fc618 Mon Sep 17 00:00:00 2001 From: jurgenhaas <juergen@paragon-es.de> Date: Sat, 24 Nov 2018 19:06:29 +0100 Subject: [PATCH] Add support for proper source paths when using GitLab CI --- src/Handler.php | 11 +++++++++++ templates/docker-compose.yml.twig | 12 ++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/Handler.php b/src/Handler.php index dcb870b..d86d5c5 100644 --- a/src/Handler.php +++ b/src/Handler.php @@ -199,6 +199,7 @@ class Handler extends BaseHandler { $extra = $this->composer->getPackage()->getExtra() + ['docker4drupal' => []]; $options = NestedArray::mergeDeep([ 'projectname' => $projectname, + 'ci_home' => '/home/gitlab-runner', 'docker0' => [ 'ip' => $this->getLocalIpv4('docker0'), ], @@ -275,6 +276,16 @@ class Handler extends BaseHandler { 'enable' => 0, ], ], $extra['docker4drupal']); + + $projectRoot = getenv('CI_PROJECT_DIR'); + if (empty($projectRoot)) { + $projectRoot = '.'; + } + else { + $projectRoot = $options['ci_home'] . $projectRoot; + } + $options['projectroot'] = $projectRoot; + return $env->replaceEnvironmentVariables($options); } diff --git a/templates/docker-compose.yml.twig b/templates/docker-compose.yml.twig index 061764f..1a94c19 100644 --- a/templates/docker-compose.yml.twig +++ b/templates/docker-compose.yml.twig @@ -42,8 +42,8 @@ services: SSH_AUTH_SOCK: /ssh-agent {% endif %} volumes: - - ./:/var/www/html - - ./drush:/etc/drush + - {{ projectroot }}/:/var/www/html + - {{ projectroot }}/drush:/etc/drush {% if php.ssh %} - $SSH_AUTH_SOCK:/ssh-agent {% endif %} @@ -78,7 +78,7 @@ services: {{ webserver.type|upper }}_BACKEND_HOST: php {{ webserver.type|upper }}_SERVER_ROOT: /var/www/html/{{ webRoot }} volumes: - - ./:/var/www/html + - {{ projectroot }}/:/var/www/html labels: traefik.backend: '{{ projectname }}_{{ webserver.type }}_1' traefik.port: '80' @@ -154,7 +154,7 @@ services: traefik.port: '8080' traefik.frontend.rule: 'Host:nodejs.{{ projectname }}.docker.localhost' volumes: - - ./{{ node.path }}:/app + - {{ projectroot }}/{{ node.path }}:/app command: sh -c 'npm install && npm run start' node: @@ -167,7 +167,7 @@ services: expose: - '3000' volumes: - - ./{{ node.path }}:/app + - {{ projectroot }}/{{ node.path }}:/app command: sh -c 'npm install && npm run start' {% endif %} {% if memcached.enable %} @@ -212,7 +212,7 @@ services: traefik.port: '8080' traefik.frontend.rule: 'Host:webgrind.{{ projectname }}.docker.localhost' volumes: - - files:/mnt/files + - {{ projectroot }}/files:/mnt/files {% endif %} hub: -- GitLab