# This file is included as part of the main repository .gitlab-ci.yml file # NOTE: Since this is running from the root of the repository all referenced # files must be relative to the root directory. # Most jobs in this file are only meant to be run when a git tag is created # Prerequisites: # Create TLS certificate secret: # kubectl create -n geosphere secret tls geosphere-tls-certs --cert=geosphere_ssec_wisc_edu.crt --key=geosphere_ssec_wisc_edu.key gs create geotiff storage: extends: .helm_based_job stage: create storage script: - ns=$(./helpers/get_namespace.sh) # copy secret kubeconfig to the mounted (pwd) directory - cp $kubekorner_k3s_config . - kubeconfig=$(basename $kubekorner_k3s_config) - ./helpers/create_pvc.sh "$ns" "ci_geosphere/geotiff-pvc.yaml" "cspp-geo-geo2grid" "$kubeconfig" # this job doesn't actually need any artifacts from previous jobs dependencies: [] rules: - if: "$CI_COMMIT_TAG == null" when: never - if: '$kubekorner_k3s_config == null' when: never # this will always be true for tags - changes: - ci_geosphere/geotiff-pvc.yaml - if: $CREATE_STORAGE gs create shapefile storage: extends: .helm_based_job stage: create storage script: - ns=$(./helpers/get_namespace.sh) # copy secret kubeconfig to the mounted (pwd) directory - cp $kubekorner_k3s_config . - kubeconfig=$(basename $kubekorner_k3s_config) - ./helpers/create_pvc.sh "$ns" "ci_geosphere/shapefiles-pvc.yaml" "geosphere-tile-gen-shapefiles" "$kubeconfig" # this job doesn't actually need any artifacts from previous jobs dependencies: [] rules: - if: "$CI_COMMIT_TAG == null" when: never - if: '$kubekorner_k3s_config == null' when: never # this will always be true for tags - changes: - ci_geosphere/shapefiles-pvc.yaml - if: $CREATE_STORAGE gs deploy rabbit: environment: name: geosphere url: http://geosphere.ssec.wisc.edu extends: .helm_based_job stage: deploy rabbit script: - ./helpers/deploy_rabbitmq.sh ci_geosphere - cp ${kubekorner_k3s_config} . - kubeconfig=$(basename ${kubekorner_k3s_config}) - |- kubectl get secret --kubeconfig "${kubeconfig}" geosphere-rabbit-rabbitmq --namespace=geosphere -oyaml | grep -v '^\s*namespace:\s' | grep -v "[Hh]elm" | grep -v "[tT]ime" | grep -v "selfLink" | grep -v "uid" | grep -v "resourceVersion" | sed 's/ name: .*/ name: geosphere-rabbit-rabbitmq-production/' | kubectl_stdin apply --kubeconfig "${kubeconfig}" --namespace=geosphere-test -f - # this job doesn't actually need any artifacts from previous jobs dependencies: [] rules: - if: "$CI_COMMIT_TAG == null" when: never - if: '$kubekorner_k3s_config == null' when: never # no need to build if another project triggered us - if: $CI_PIPELINE_SOURCE == "pipeline" when: never - changes: - ci_geosphere/values-geosphere-rabbit.yaml - if: $DEPLOY_RABBIT gs deploy g16 grb: # environment: # name: geosphere # url: http://geosphere.ssec.wisc.edu extends: .helm_based_job stage: deploy GRB script: - ns=$(./helpers/get_namespace.sh) - cd geosphere-grb/chart - source cspp-geo-grb/cibuild.env # copy secret kubeconfig to the mounted (pwd) directory - cp $kubekorner_k3s_config . - kubeconfig=$(basename $kubekorner_k3s_config) - echo "Deploying version $docker_tag to cluster namespace $ns" # copy extra values files to the local directory (where helm has access via docker mount) - cp ../../ci_geosphere/values-grb-g16.yaml . # namespace names are the same as domain names - helm upgrade -v 2 --install --kubeconfig $kubeconfig --namespace $ns --set persistence.enabled=true --set persistence.storageClass=longhorn -f values-grb-g16.yaml cspp-geo-grb cspp-geo-grb/ dependencies: - get_chart_grb rules: - if: "$CI_COMMIT_TAG == null" when: never - if: '$kubekorner_k3s_config == null' when: never - when: on_success gs deploy geo2grid g16 radf: extends: .deploy_geo2grid variables: VALUES_DIR: "ci_geosphere" DEPLOY_SUFFIX: "-g16-radf" rules: - if: "$CI_COMMIT_TAG == null" when: never - if: '$kubekorner_k3s_config == null' when: never - when: on_success gs deploy geo2grid g16 radc: extends: .deploy_geo2grid variables: VALUES_DIR: "ci_geosphere" DEPLOY_SUFFIX: "-g16-radc" rules: - if: "$CI_COMMIT_TAG == null" when: never - if: '$kubekorner_k3s_config == null' when: never - when: on_success gs deploy geo2grid g16 radm1: extends: .deploy_geo2grid variables: VALUES_DIR: "ci_geosphere" DEPLOY_SUFFIX: "-g16-radm1" rules: - if: "$CI_COMMIT_TAG == null" when: never - if: '$kubekorner_k3s_config == null' when: never - when: on_success gs deploy geo2grid g16 radm2: extends: .deploy_geo2grid variables: VALUES_DIR: "ci_geosphere" DEPLOY_SUFFIX: "-g16-radm2" rules: - if: "$CI_COMMIT_TAG == null" when: never - if: '$kubekorner_k3s_config == null' when: never - when: on_success gs deploy tile gen g16 radf: extends: .deploy_tile_gen variables: VALUES_DIR: "ci_geosphere" DEPLOY_SUFFIX: "-g16-radf" rules: - if: "$CI_COMMIT_TAG == null" when: never - if: '$kubekorner_k3s_config == null' when: never - when: on_success gs deploy tile gen g16 radc: extends: .deploy_tile_gen variables: VALUES_DIR: "ci_geosphere" DEPLOY_SUFFIX: "-g16-radc" rules: - if: "$CI_COMMIT_TAG == null" when: never - if: '$kubekorner_k3s_config == null' when: never - when: on_success gs deploy_tile_gen_g16_radm1: extends: .deploy_tile_gen variables: VALUES_DIR: "ci_geosphere" DEPLOY_SUFFIX: "-g16-radm1" rules: - if: "$CI_COMMIT_TAG == null" when: never - if: '$kubekorner_k3s_config == null' when: never - when: on_success gs deploy_tile_gen_g16_radm2: extends: .deploy_tile_gen variables: VALUES_DIR: "ci_geosphere" DEPLOY_SUFFIX: "-g16-radm2" rules: - if: "$CI_COMMIT_TAG == null" when: never - if: '$kubekorner_k3s_config == null' when: never - when: on_success gs deploy mapserver: environment: name: geosphere url: http://geosphere.ssec.wisc.edu variables: VALUES_DIR: "ci_geosphere" extends: .deploy_mapserver rules: - if: "$CI_COMMIT_TAG == null" when: never - if: '$kubekorner_k3s_config == null' when: never - when: on_success gs deploy mapcache: environment: name: geosphere url: http://geosphere.ssec.wisc.edu variables: VALUES_DIR: "ci_geosphere" extends: .deploy_mapcache rules: - if: "$CI_COMMIT_TAG == null" when: never - if: '$kubekorner_k3s_config == null' when: never - when: on_success gs deploy client: environment: name: geosphere url: http://geosphere.ssec.wisc.edu extends: .helm_based_job stage: deploy Client script: - ns="geosphere" - cd geosphere-client/chart - source geosphere-client/cibuild.env # copy secret kubeconfig to the mounted (pwd) directory - cp $kubekorner_k3s_config . - kubeconfig=$(basename $kubekorner_k3s_config) - echo "Deploying version $docker_tag to cluster namespace $ns" # copy extra values files to the local directory (where helm has access via docker mount) - cp ../../ci_geosphere/values-client.yaml . # namespace names are the same as domain names - helm upgrade -v 2 --install --kubeconfig $kubeconfig --namespace $ns -f values-client.yaml geosphere-client geosphere-client/ dependencies: - get_chart_client rules: - if: "$CI_COMMIT_TAG == null" when: never - if: '$kubekorner_k3s_config == null' when: never - when: on_success