From f9cb756a6595d4c3b09b84224640d181aac86487 Mon Sep 17 00:00:00 2001
From: Dominik Hebeler <dominik@suma-ev.de>
Date: Thu, 30 Nov 2023 13:05:14 +0100
Subject: [PATCH] building app images

---
 .gitlab-ci.yml | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index cfb3067..e15a939 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -17,6 +17,7 @@ workflow:
 
 stages:
   - assets
+  - build
 
 build_asset_images:
   image: $BUILD_DOCKER_IMAGE
@@ -30,6 +31,7 @@ build_asset_images:
     - docker logout $CI_REGISTRY
     - source .env
     - echo "COMPOSER_VERSION=$COMPOSER_VERSION" > .composerversion.env
+    - echo "NODE_TAG=$NODE_TAG" >> .composerversion.env
   artifacts:
     reports:
       dotenv: .composerversion.env
@@ -53,6 +55,37 @@ composer_install:
   cache:
     paths:
       - app/.composer
+
+npm_install:
+  image: $IMAGE_NAME/node:$NODE_TAG  # Node Tag variable was defined in build artifact dotenv from previous job
+  stage: assets
+  script:
+    - cd app
+    - npm install --cache .npm --prefer-offline --no-audit
+    - npm run prod
+  needs:
+    - build_asset_images
+  artifacts:
+    paths:
+      - app/public
+    expire_in: 2 hrs
+  cache:
+    paths:
+      - app/.npm
+
+build_images:
+  image: $BUILD_DOCKER_IMAGE
+  stage: build
+  needs:
+    - npm_install
+    - composer_install
+  before_script:
+    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
+  script:
+    - docker compose build nginx fpm
+    - docker compose push nginx fpm
+  after_script:
+    - docker logout $CI_REGISTRY
   
   
 
-- 
GitLab