Commit e8793672 authored by wangjing2's avatar wangjing2

Add .gitlab-ci.yml

parent 7c8ae382
Pipeline #7214 skipped with stages
variables:
NANGAO_BASE_IMAGE: "$CI_REGISTRY/nangao-iot/nangao-base"
IOT_PLATFORM_BASE_IMAGE: "$CI_REGISTRY/nangao-iot/iot-platform-baseimage"
IOT_PLATFORM_IDP_IMAGE: "$CI_REGISTRY/nangao-iot/iot-platform-idp"
IOT_PLATFORM_GATEWAY_IMAGE: "$CI_REGISTRY/nangao-iot/iot-platform-gateway"
IOT_PLATFORM_ADMIN_IMAGE: "$CI_REGISTRY/nangao-iot/iot-platform-admin"
IOT_PLATFORM_JMREPORT_IMAGE: "$CI_REGISTRY/nangao-iot/iot-platform-jmreport"
IOT_PLATFORM_BASICS_IMAGE: "$CI_REGISTRY/nangao-iot/iot-platform-basics"
IOT_PLATFORM_OPERATER_LOG_IMAGE: "$CI_REGISTRY/nangao-iot/iot-platform-operate-log"
IOT_PLATFORM_PORTAL_IMAGE: "$CI_REGISTRY/nangao-iot/iot-platform-portal"
IOT_PLATFORM_PORTAL_SERVER_IMAGE: "$CI_REGISTRY/nangao-iot/iot-platform-portal-server"
IOT_PLATFORM_3D_IMAGE: "$CI_REGISTRY/nangao-iot/iot-platform-3d"
IOT_PLATFORM_APP_IMAGE: "$CI_REGISTRY/nangao-iot/iot-platform-app"
stages:
- build
- deploy
baseImage:
image: $NANGAO_BASE_IMAGE
stage: build
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
- docker pull $NANGAO_BASE_IMAGE
script:
- docker build -f ./docker/Dockerfile-baseimage -t $IOT_PLATFORM_BASE_IMAGE .
- docker push $IOT_PLATFORM_BASE_IMAGE
when: manual
idp:
image: $NANGAO_BASE_IMAGE
stage: build
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build -f ./docker/Dockerfile-idp -t $IOT_PLATFORM_IDP_IMAGE .
- docker push $IOT_PLATFORM_IDP_IMAGE
only:
variables:
- $CI_COMMIT_REF_NAME == 'master'
changes:
- idp/**/*
gateway:
image: $NANGAO_BASE_IMAGE
stage: build
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build -f ./docker/Dockerfile-gateway -t $IOT_PLATFORM_GATEWAY_IMAGE .
- docker push $IOT_PLATFORM_GATEWAY_IMAGE
only:
variables:
- $CI_COMMIT_REF_NAME == 'master'
changes:
- gateway/**/*
- common/**/*
admin:
image: $NANGAO_BASE_IMAGE
stage: build
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build -f ./docker/Dockerfile-admin -t $IOT_PLATFORM_ADMIN_IMAGE .
- docker push $IOT_PLATFORM_ADMIN_IMAGE
# when: manual
only:
variables:
- $CI_COMMIT_REF_NAME == 'master'
changes:
- admin/**/*
- common/**/*
jmreport:
image: $NANGAO_BASE_IMAGE
stage: build
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build -f ./docker/Dockerfile-jmreport -t $IOT_PLATFORM_JMREPORT_IMAGE .
- docker push $IOT_PLATFORM_JMREPORT_IMAGE
only:
variables:
- $CI_COMMIT_REF_NAME == 'master'
changes:
- jmreport/**/*
basics:
image: $NANGAO_BASE_IMAGE
stage: build
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
- docker pull $IOT_PLATFORM_BASE_IMAGE
script:
- docker build -f ./docker/Dockerfile-basics -t $IOT_PLATFORM_BASICS_IMAGE .
- docker push $IOT_PLATFORM_BASICS_IMAGE
only:
variables:
- $CI_COMMIT_REF_NAME == 'master'
changes:
- basics/**/*
- common/**/*
operate-log:
image: $NANGAO_BASE_IMAGE
stage: build
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build -f ./docker/Dockerfile-operate-log -t $IOT_PLATFORM_OPERATER_LOG_IMAGE .
- docker push $IOT_PLATFORM_OPERATER_LOG_IMAGE
only:
variables:
- $CI_COMMIT_REF_NAME == 'master'
changes:
- operate-log/**/*
- common/**/*
portal:
image: $NANGAO_BASE_IMAGE
stage: build
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build -f ./docker/Dockerfile-portal -t $IOT_PLATFORM_PORTAL_IMAGE .
- docker push $IOT_PLATFORM_PORTAL_IMAGE
# when: manual
only:
variables:
- $CI_COMMIT_REF_NAME == 'master'
changes:
- portal/**/*
portal-server:
image: $NANGAO_BASE_IMAGE
stage: build
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build -f ./docker/Dockerfile-portal-server -t $IOT_PLATFORM_PORTAL_SERVER_IMAGE .
- docker push $IOT_PLATFORM_PORTAL_SERVER_IMAGE
only:
variables:
- $CI_COMMIT_REF_NAME == 'master'
changes:
- portal-server/**/*
- common/**/*
3d:
image: $NANGAO_BASE_IMAGE
stage: build
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build -f ./docker/Dockerfile-3d -t $IOT_PLATFORM_3D_IMAGE .
- docker push $IOT_PLATFORM_3D_IMAGE
# when: manual
only:
variables:
- $CI_COMMIT_REF_NAME == 'master'
changes:
- 3d/**/*
app:
image: $NANGAO_BASE_IMAGE
stage: build
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build -f ./docker/Dockerfile-app -t $IOT_PLATFORM_APP_IMAGE .
- docker push $IOT_PLATFORM_APP_IMAGE
# when: manual
only:
variables:
- $CI_COMMIT_REF_NAME == 'master'
changes:
- app-web/**/*
#发布到开发环境
deploy_dev:
stage: deploy
image: $NANGAO_BASE_IMAGE
services:
- docker:dind
before_script:
- mkdir -p ~/.ssh
- eval $(ssh-agent -s)
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
- ssh-add <(echo "$PRIVATE_KEY")
script:
- rsync -Phvz -e "ssh -p 6001" ./docker/docker-compose-dev.yaml root@$DEV_IP:/root/docker-compose/iot-platform/docker-compose.yaml
- ssh -p 6001 $DEV_IP 'cd /root/docker-compose/iot-platform; docker-compose pull idp;docker-compose up -d --build idp;docker-compose up -d --build idp-internet; docker-compose up -d --build idp-mobile;docker-compose pull gateway;docker-compose up -d --build gateway;docker-compose pull admin;docker-compose up -d --build admin;docker-compose up -d --build admin-internet;docker-compose pull jmreport;docker-compose up -d --build jmreport;docker-compose pull basics;docker-compose up -d --build basics;docker-compose pull portal;docker-compose up -d --build portal;docker-compose up -d --build portal-internet;docker-compose pull portal-server;docker-compose up -d --build portal-server;docker-compose pull app;docker-compose up -d --build app;docker-compose pull gateway-guocai;docker-compose up -d --build gateway-guocai;docker-compose pull gateway-jiafeng;docker-compose up -d --build gateway-jiafeng;docker-compose pull gateway-caimeng;docker-compose up -d --build gateway-caimeng;docker-compose pull gateway-dongjing;docker-compose up -d --build gateway-dongjing;docker-compose up -d '
only:
variables:
- $CI_COMMIT_REF_NAME == 'master'
changes:
- idp/**/*
- gateway/**/*
- common/**/*
- admin/**/*
- basics/**/*
- jmreport/**/*
- operate-log/**/*
- portal-server/**/*
- portal/**/*
- app-web/**/*
- 3d/**/*
- docker/*
#日志模块自动发布到开发环境
deploy_dev_operate_log:
stage: deploy
image: $NANGAO_BASE_IMAGE
services:
- docker:dind
before_script:
- mkdir -p ~/.ssh
- eval $(ssh-agent -s)
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
- ssh-add <(echo "$PRIVATE_KEY")
script:
- rsync -Phvz -e "ssh -p 6001" ./docker/docker-compose-operate-log-dev.yaml root@$DEV_IP:/root/docker-compose/iot-platform/docker-compose-operate-log.yaml
- ssh -p 6001 $DEV_IP 'cd /root/docker-compose/iot-platform; docker-compose -f docker-compose-operate-log.yaml pull operate-log;docker-compose -f docker-compose-operate-log.yaml up -d --build operate-log'
only:
variables:
- $CI_COMMIT_REF_NAME == 'master'
changes:
- common/**/*
- idp/**/*
- gateway/**/*
- operate-log/**/*
- docker/*log*
#发布到测试环境
deploy_test:
stage: deploy
image: $NANGAO_BASE_IMAGE
services:
- docker:dind
before_script:
- mkdir -p ~/.ssh
- eval $(ssh-agent -s)
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
- ssh-add <(echo "$PRIVATE_KEY")
script:
- rsync -Phvz -e "ssh -p 6002" ./docker/docker-compose-operate-log-test.yaml root@$DEV_IP:/root/docker-compose/iot-platform/docker-compose-operate-log.yaml
- ssh -p 6002 $DEV_IP 'cd /root/docker-compose/iot-platform; docker-compose -f docker-compose-operate-log.yaml down;docker-compose -f docker-compose-operate-log.yaml pull ;docker-compose -f docker-compose-operate-log.yaml up -d '
- rsync -Phvz -e "ssh -p 6002" ./docker/docker-compose-test.yaml root@$DEV_IP:/root/docker-compose/iot-platform/docker-compose.yaml
- ssh -p 6002 $DEV_IP 'cd /root/docker-compose/iot-platform; docker-compose pull idp;docker-compose up -d --build idp; docker-compose up -d --build idp-mobile;docker-compose pull gateway;docker-compose up -d --build gateway;docker-compose pull admin;docker-compose up -d --build admin;docker-compose pull jmreport;docker-compose up -d --build jmreport;docker-compose pull basics;docker-compose up -d --build basics;docker-compose pull portal;docker-compose up -d --build portal;docker-compose pull portal-server;docker-compose up -d --build portal-server;docker-compose pull 3d;docker-compose up -d --build 3d;docker-compose pull app;docker-compose up -d --build app;docker-compose up -d '
only:
variables:
- $CI_COMMIT_REF_NAME == 'master'
when: manual
#发布到演示环境
deploy_demo:
stage: deploy
image: $NANGAO_BASE_IMAGE
services:
- docker:dind
before_script:
- mkdir -p ~/.ssh
- eval $(ssh-agent -s)
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
- ssh-add <(echo "$PRIVATE_KEY")
script:
- rsync -Phvz -e "ssh -p 6000" ./docker/docker-compose-operate-log-demo.yaml root@$DEV_IP:/root/docker-compose/iot-platform/docker-compose-operate-log.yaml
- ssh -p 6000 $DEV_IP 'cd /root/docker-compose/iot-platform; docker-compose -f docker-compose-operate-log.yaml down;docker-compose -f docker-compose-operate-log.yaml pull ;docker-compose -f docker-compose-operate-log.yaml up -d '
- rsync -Phvz -e "ssh -p 6000" ./docker/docker-compose-demo.yaml root@$DEV_IP:/root/docker-compose/iot-platform/docker-compose.yaml
- ssh -p 6000 $DEV_IP 'cd /root/docker-compose/iot-platform; docker-compose pull idp;docker-compose up -d --build idp; docker-compose up -d --build idp-mobile;docker-compose pull gateway;docker-compose up -d --build gateway;docker-compose pull admin;docker-compose up -d --build admin;docker-compose pull jmreport;docker-compose up -d --build jmreport;docker-compose pull basics;docker-compose up -d --build basics;docker-compose pull portal;docker-compose up -d --build portal;docker-compose pull portal-server;docker-compose up -d --build portal-server;docker-compose pull 3d;docker-compose up -d --build 3d;docker-compose pull app;docker-compose up -d --build app;docker-compose up -d '
only:
variables:
- $CI_COMMIT_REF_NAME == 'master'
when: manual
##发布到华为云正式环境
#deploy_prod:
# stage: deploy
# image: $NANGAO_BASE_IMAGE
# services:
# - docker:dind
# before_script:
# - mkdir -p ~/.ssh
# - eval $(ssh-agent -s)
# - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
# - ssh-add <(echo "$PRIVATE_KEY")
# script:
# - scp ./docker/docker-compose-operate-log-prod-huawei.yaml root@$PROD_IP:/root/docker-compose/iot-platform/docker-compose-operate-log.yaml
# - ssh -p 22 $PROD_IP 'cd /root/docker-compose/iot-platform; docker-compose -f docker-compose-operate-log.yaml down;docker-compose -f docker-compose-operate-log.yaml pull ;docker-compose -f docker-compose-operate-log.yaml up -d '
# - scp ./docker/docker-compose-prod-huawei.yaml root@$PROD_IP:/root/docker-compose/iot-platform/docker-compose.yaml
# - ssh -p 22 $PROD_IP 'cd /root/docker-compose/iot-platform;docker-compose up -d;docker-compose pull idp;docker-compose up -d --build idp; docker-compose up -d --build idp-mobile;docker-compose pull gateway;docker-compose up -d --build gateway;docker-compose pull admin;docker-compose up -d --build admin;docker-compose pull jmreport;docker-compose up -d --build jmreport;docker-compose pull basics;docker-compose up -d --build basics;docker-compose pull portal;docker-compose up -d --build portal;docker-compose pull portal-server;docker-compose up -d --build portal-server;docker-compose pull 3d;docker-compose up -d --build 3d;docker-compose pull app;docker-compose up -d --build app;docker-compose up -d '
# only:
# variables:
# - $CI_COMMIT_REF_NAME == 'master'
# when: manual
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment