| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- variables:
- DOCKER_REGISTRY: 883669802837.dkr.ecr.ap-southeast-1.amazonaws.com
- AWS_REGION: ap-southeast-1
- KUBECONFIG_ENV: coinvex-eco-eks-test-01
- DOCKER_ENV: coinvex-eco-test
- MYSELF_NAMESPACE: magic
- MYSELF_PROJECT_NAME: magic-admin-web
- stages:
- - build
- - deploy
- before_script:
- - echo "Compiling the code..."
- - echo "Compile complete."
- - export
- - pwd && ls -lhc
- - aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin $DOCKER_REGISTRY
- - |
- source /data/.bash/set_build_env.sh
- echo ">> >> >>"
- echo -e "\033[1;33m-----------please check the following variables---------------------\033[0m"
- echo -e "\033[1;32mDOCKER_ENV: $DOCKER_ENV\033[0m"
- echo -e "\033[1;32mKUBECONFIG_ENV: $KUBECONFIG_ENV\033[0m"
- echo -e "\033[1;33m----------- please confirm the variables before continue ------------\033[0m"
- echo "<< << << "
- .build-template: &build-template
- stage: build
- script:
- - echo "start build"
- - docker build . -f $DOCKERFILE_PATH -t $DOCKER_REGISTRY/${DOCKER_ENV}/${MYSELF_NAMESPACE}:${IMAGE_TAG} --push --build-arg MYSELF_NAMESPACE=${MYSELF_PROJECT_NAME}SPACE --build-arg CI_PROJECT_NAME=${MYSELF_PROJECT_NAME} --build-arg CI_COMMIT_SHORT_SHA=$CI_COMMIT_SHORT_SHA --build-arg DOCKER_ENV=$DOCKER_ENV
- .deploy-template: &deploy-template
- stage: deploy
- script:
- - kubectl --kubeconfig /root/.kube/${KUBECONFIG_ENV} config view -o jsonpath='{.users[*].name}'
- - echo "start deploy"
- - kubectl --kubeconfig /root/.kube/${KUBECONFIG_ENV} -n ${MYSELF_NAMESPACE} set image deployment/$DEPLOYMENT_NAME $DEPLOYMENT_NAME=$DOCKER_REGISTRY/${DOCKER_ENV}/${MYSELF_NAMESPACE}:$IMAGE_TAG
- ####
- # test pipeline
- ####
- # -----------test-----------
- build-test:
- <<: *build-template
- variables:
- DOCKERFILE_PATH: Dockerfile
- IMAGE_TAG: ${MYSELF_PROJECT_NAME}-$CI_COMMIT_SHORT_SHA
- # GIT_STRATEGY: none
- rules:
- - if: $CI_COMMIT_BRANCH != "main"
- when: manual
- - when: never
- deploy-test:
- <<: *deploy-template
- needs:
- - build-test
- variables:
- DEPLOYMENT_NAME: ${MYSELF_PROJECT_NAME}
- IMAGE_TAG: ${MYSELF_PROJECT_NAME}-$CI_COMMIT_SHORT_SHA
- GIT_STRATEGY: none
- rules:
- - if: $CI_COMMIT_BRANCH != "main"
- when: manual
- - when: never
- ####
- # prd pipeline
- ####
- # -----------prd-----------
- build-prd:
- <<: *build-template
- variables:
- DOCKERFILE_PATH: Dockerfile
- IMAGE_TAG: ${MYSELF_PROJECT_NAME}-$CI_COMMIT_SHORT_SHA
- # GIT_STRATEGY: none
- rules:
- - if: $CI_COMMIT_BRANCH == "main"
- when: manual
- - when: never
- deploy-prd:
- <<: *deploy-template
- needs:
- - build-prd
- variables:
- DEPLOYMENT_NAME: ${MYSELF_PROJECT_NAME}
- IMAGE_TAG: ${MYSELF_PROJECT_NAME}-$CI_COMMIT_SHORT_SHA
- GIT_STRATEGY: none
- rules:
- - if: $CI_COMMIT_BRANCH == "main"
- when: manual
- - when: never
|