Skip to content
Snippets Groups Projects
.gitlab-ci.yml 5.00 KiB
stages:
  - build
  - deploy

workflow:
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
    - if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS && $CI_COMMIT_TAG == null'
      when: never
    - if: '$CI_COMMIT_BRANCH'
    - if: $CI_COMMIT_TAG != null

build-dev:
  image: node:16
  tags:
    - spraaksamlingene_01
  stage: build
  rules:
    - if: $CI_COMMIT_TAG != null
      when: never
    - if: $CI_COMMIT_REF_NAME == 'prod'
      when: manual
    - when: always
  script:
    - |- 
          if [[ $CI_PIPELINE_SOURCE == "merge_request_event" ]]; then
              echo "VUE_APP_VERSION_LABEL=MERGE $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME ($CI_COMMIT_SHORT_SHA)" >> .env.dev_server
          else 
              echo "VUE_APP_VERSION_LABEL=BRANCH $CI_COMMIT_BRANCH ($CI_COMMIT_SHORT_SHA)" >> .env.dev_server
          fi
    - npm install --progress=false
    - npm run build -- --mode dev_server
  artifacts:
    expire_in: 1 week
    paths:
      - dist

build-prod:
  image: node:16
  tags:
    - spraaksamlingene_01
  stage: build
  only:
    - /^release_.*$/
  script:
  - echo "VUE_APP_RELEASE=$CI_COMMIT_REF_NAME" >> .env.production
  - npm install --progress=false
  - npm run build -- --mode production
  artifacts:
    expire_in: 1 week
    paths:
    - dist

deploy-dev:
  image: uibit/awscli:latest
  tags:
    - spraaksamlingene_01
  stage: deploy
  rules:
  - if: $CI_COMMIT_TAG != null
    when: never
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_PIPELINE_SOURCE == 'merge_request_event'
    when: always
  - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE != 'merge_request_event'
    when: manual
  script:
  - rm -rf ~/.aws
  - mv  .aws ~/
  - export AWS_ACCESS_KEY_ID=$AWS_DEV_ACCESS_KEY_ID
  - export AWS_SECRET_ACCESS_KEY=$AWS_DEV_SECRET_ACCESS_KEY