Files
freeradius/.gitlab-ci.yml
2023-01-10 02:32:33 +03:00

83 lines
2.1 KiB
YAML

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