38 lines
1 KiB
YAML
38 lines
1 KiB
YAML
include:
|
|
- template: Jobs/Build.gitlab-ci.yml
|
|
- template: Jobs/Deploy.gitlab-ci.yml
|
|
|
|
variables:
|
|
DOCKER_BUILDKIT: 1
|
|
CI_BUILDX_ARCHS: "linux/amd64"
|
|
|
|
build:
|
|
stage: build
|
|
image: docker:24
|
|
services:
|
|
- docker:24-dind
|
|
before_script:
|
|
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
|
script:
|
|
- docker build -f k8s/Dockerfile -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA -t $CI_REGISTRY_IMAGE:latest .
|
|
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
|
|
- docker push $CI_REGISTRY_IMAGE:latest
|
|
rules:
|
|
- if: $CI_COMMIT_BRANCH == "main"
|
|
|
|
deploy:
|
|
stage: deploy
|
|
image:
|
|
name: bitnami/kubectl:latest
|
|
entrypoint: ['']
|
|
script:
|
|
- kubectl config get-contexts
|
|
- kubectl config use-context graham/towerops:towerops
|
|
- kubectl set image deployment/towerops towerops=$CI_REGISTRY_IMAGE:$CI_COMMIT_SHA -n towerops
|
|
- kubectl rollout status deployment/towerops -n towerops --timeout=5m
|
|
environment:
|
|
name: production
|
|
kubernetes:
|
|
namespace: towerops
|
|
rules:
|
|
- if: $CI_COMMIT_BRANCH == "main"
|