Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fb9c30b2 authored by Fazle Rabbi's avatar Fazle Rabbi
Browse files

Merge branch 'dev/3066-production-deployment' into 'main'

Updates to setup production deployment

Closes e/infra/backlog#3066

See merge request e/devices/web-easy-installer!5
parents 396eaf60 91f1e962
Loading
Loading
Loading
Loading
+35 −16
Original line number Original line Diff line number Diff line
stages:
  - build
  - deploy-staging
  - deploy-production
.docker:
.docker:
  stage: build
  stage: build
  image: docker:git
  image: docker:git
@@ -15,21 +19,30 @@ docker:
  rules:
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'


docker-latest:
docker-build-image-latest:
  extends: .docker
  extends: .docker
  script:
  script:
    - docker build -t $CI_REGISTRY_IMAGE:latest -f app/Dockerfile app
    - docker build -t $CI_REGISTRY_IMAGE:latest -f app/Dockerfile app
    - docker push $CI_REGISTRY_IMAGE:latest
    - docker push $CI_REGISTRY_IMAGE:latest
  when: manual
  when: manual
#  rules:
  rules:
#    - if: '$CI_COMMIT_REF_NAME == "main" && $CI_PIPELINE_SOURCE != "schedule"'
    - if: '$CI_COMMIT_REF_NAME == "main" && $CI_PIPELINE_SOURCE != "schedule"'
#    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'


trigger_deploy:
docker-build-image-tag:
  needs: ["docker-latest"]
  extends: .docker
#  rules:
  script:
#    - if: '$CI_COMMIT_REF_NAME == "main" && $CI_PIPELINE_SOURCE != "schedule"'
    - docker build -t $CI_REGISTRY_IMAGE:${CI_COMMIT_TAG/v/} -f app/Dockerfile app
#    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
    - docker push $CI_REGISTRY_IMAGE:${CI_COMMIT_TAG/v/}
  rules:
    - if: '$CI_COMMIT_TAG'

deploy_staging:
  stage: deploy-staging
  needs: ["docker-build-image-latest"]
  rules:
    - if: '$CI_COMMIT_REF_NAME == "main" && $CI_PIPELINE_SOURCE != "schedule"'
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
  trigger:
  trigger:
    project: e/online-services/infra/web/web-easy-installer
    project: e/online-services/infra/web/web-easy-installer
    branch: main
    branch: main
@@ -38,13 +51,19 @@ trigger_deploy:
  variables:
  variables:
      TRIGGER_STAGING: true
      TRIGGER_STAGING: true
      TRIGGER_PRODUCTION: false
      TRIGGER_PRODUCTION: false
      IMAGE_TAG: latest


docker-tag:
deploy_production:
  extends: .docker
  stage: deploy-production
  script:
  needs: ["docker-build-image-tag"]
    - docker build -t $CI_REGISTRY_IMAGE:${CI_COMMIT_TAG/v/} -f app/Dockerfile app
    - docker push $CI_REGISTRY_IMAGE:${CI_COMMIT_TAG/v/}
  rules:
  rules:
    - if: '$CI_COMMIT_TAG'
    - if: '$CI_COMMIT_TAG'

  trigger:
    
    project: e/online-services/infra/web/web-easy-installer
    branch: main
    strategy: depend
  when: manual
  variables:
      TRIGGER_STAGING: false
      TRIGGER_PRODUCTION: true
      IMAGE_TAG: $CI_COMMIT_TAG