From a305fd3b6e85eac4721ff1ed70383b57d21a31b6 Mon Sep 17 00:00:00 2001 From: Thatsaphorn Atchariyaphap Date: Sat, 7 Jun 2025 09:56:23 +0200 Subject: [PATCH] Update GitLab CI/CD pipeline --- .gitlab-ci-template.yml | 15 +++++++++++++++ .gitlab-ci.yml | 36 ++++++++++++++++++++++++------------ lawfirm-demos/.gitlab-ci.yml | 17 +++++++++++++++++ 3 files changed, 56 insertions(+), 12 deletions(-) create mode 100644 lawfirm-demos/.gitlab-ci.yml diff --git a/.gitlab-ci-template.yml b/.gitlab-ci-template.yml index f0c87f4..f612c13 100644 --- a/.gitlab-ci-template.yml +++ b/.gitlab-ci-template.yml @@ -1,3 +1,18 @@ +.build-next-template: + stage: build + image: node:22@sha256:f6b9c31ace05502dd98ef777aaa20464362435dcc5e312b0e213121dcf7d8b95 + script: + - | + cd $WORKDIR_PATH + npm ci + npm run build + artifacts: + paths: + - $WORKDIR_PATH/.next + - $WORKDIR_PATH/public + - $WORKDIR_PATH/package.json + - $WORKDIR_PATH/package-lock.json + .docker-login: before_script: - echo "$CI_REGISTRY_PASSWORD" | docker login "$CI_REGISTRY" -u "$CI_REGISTRY_USER" --password-stdin diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 97b854d..c13e9e8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,28 +1,40 @@ -image: docker:20.10 +image: docker:20.10@sha256:2967f0819c84dd589ed0a023b9d25dcfe7a3c123d5bf784ffbb77edf55335f0c include: - local: '.gitlab-ci-template.yml' + - local: 'lawfirm-demos/.gitlab-ci.yml' stages: + - build - dockerize variables: CI_REGISTRY_IMAGE: $CI_REGISTRY/$CI_PROJECT_PATH PROJECT_NAME: $CI_PROJECT_NAME TAG: $CI_COMMIT_REF_SLUG + NEXT_PUBLIC_ENV: "production" -# Main Website -build_main_website: +cache: + key: ${CI_COMMIT_REF_SLUG} + paths: + - node_modules/ + - .next/cache/ + +# Main Website - Build +build_main: + stage: build + extends: .build-next-template + variables: + WORKDIR_PATH: main-website + +# Main Website - Dockerize +dockerize_main: stage: dockerize extends: .docker-build-template variables: IMAGE_NAME: main-website - WORKDIR_PATH: ./main-website - -# Demo 1 -build_demo_1: - stage: dockerize - extends: .docker-build-template - variables: - IMAGE_NAME: ld1 - WORKDIR_PATH: ./lawfirm-demos/demo-1 \ No newline at end of file + WORKDIR_PATH: main-website + DOCKERFILE_PATH: Dockerfile + needs: + - job: build_main + artifacts: true \ No newline at end of file diff --git a/lawfirm-demos/.gitlab-ci.yml b/lawfirm-demos/.gitlab-ci.yml new file mode 100644 index 0000000..e926133 --- /dev/null +++ b/lawfirm-demos/.gitlab-ci.yml @@ -0,0 +1,17 @@ +build_demo_1: + stage: build + extends: .build-next-template + variables: + IMAGE_NAME: ld1 + WORKDIR_PATH: ./lawfirm-demos/demo-1 + +dockerize_demo_1: + stage: dockerize + extends: .docker-build-template + variables: + IMAGE_NAME: ld1 + WORKDIR_PATH: ./lawfirm-demos/demo-1 + DOCKERFILE_PATH: Dockerfile + needs: + - job: build_demo_1 + artifacts: true