variables: CI_REGISTRY: registry.connectone.pro CONTAINER_IMAGE: ${CI_REGISTRY}/${CI_PROJECT_PATH}:${CI_BUILD_REF_NAME}_${CI_BUILD_REF} stages: - release - deploy - release-deb - release-hosted release: stage: release image: docker:latest before_script: - docker login -u gitlab-ci-token -p ${CI_BUILD_TOKEN} ${CI_REGISTRY} script: - docker build -t ${CONTAINER_IMAGE} . - docker push ${CONTAINER_IMAGE} only: - develop - main release-deb: stage: release-deb image: docker:latest variables: DOCKER_BUILDKIT: 1 script: - cd build - docker build . -t freerad_builder:3.2.x -f Dockerfile - docker run -e DEB_USER=${DEB_USER} -e DEB_PASS="${DEB_PASS}" freerad_builder:3.2.x ./upload.sh when: manual only: - main release-hosted: stage: release-hosted image: alpine:latest variables: VERSION: "1.0.1" script: - apk add --no-cache curl - chmod a+x hosted/install.sh - tar -czvf hosted.tar.gz hosted - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file hosted.tar.gz "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/hosted/${VERSION}/hosted.tar.gz"' when: manual only: - main deploy-staging: stage: deploy image: jar3b/deploh:${STAGING_DEPLOYER_VERSION} variables: KUBECONFIG_BASE64: ${STAGING_KUBECONFIG} KUBECONFIG_CONTEXT_NAME: ${STAGING_KUBECONFIG_CONTEXT} NAMESPACE: ${STAGING_NAMESPACE} MAIN_DOMAIN: ${STAGING_MAIN_DOMAIN} STORAGE_BASE: ${STAGING_STORAGE_BASE} script: - he.sh . ${NAMESPACE} "freeradius" --set db.password=${PG_PROD_PASS} environment: name: staging only: - develop deploy-production: stage: deploy image: jar3b/deploh:${PRODUCTION_DEPLOYER_VERSION} variables: KUBECONFIG_BASE64: ${PRODUCTION_KUBECONFIG} KUBECONFIG_CONTEXT_NAME: ${PRODUCTION_KUBECONFIG_CONTEXT} NAMESPACE: ${PRODUCTION_NAMESPACE} MAIN_DOMAIN: ${PRODUCTION_MAIN_DOMAIN} STORAGE_BASE: ${PRODUCTION_STORAGE_BASE} script: - he.sh . ${NAMESPACE} "freeradius" --set db.password=${PG_PROD_PASS} environment: name: production when: manual only: - main