diff --git a/build/cd/deploy.go b/build/cd/deploy.go index 44259a23a5eb80ba986809591020b815928f1fc2..be95a93af44c2745797a7650156223fb5831052b 100644 --- a/build/cd/deploy.go +++ b/build/cd/deploy.go @@ -1,8 +1,10 @@ package main import ( - "code.fbi.h-da.de/cocsn/gosdn/nucleus" "context" + "os" + + "code.fbi.h-da.de/cocsn/gosdn/nucleus" log "github.com/sirupsen/logrus" appv1 "k8s.io/api/apps/v1" corev1 "k8s.io/api/core/v1" @@ -12,7 +14,6 @@ import ( "k8s.io/apimachinery/pkg/util/intstr" "k8s.io/client-go/kubernetes" "k8s.io/client-go/tools/clientcmd" - "os" ) func main() { @@ -28,7 +29,7 @@ func main() { } var tag string switch os.Getenv("CI_COMMIT_BRANCH") { - case "master": + case os.Getenv("CI_DEFAULT_BRANCH"): tag = "latest" case "develop": tag = "develop" @@ -36,6 +37,15 @@ func main() { tag = os.Getenv("CI_COMMIT_SHA") } + switch os.Getenv("CI_NIGHTLY") { + case "mainline": + tag = "nightly" + case "develop": + tag = "nightly-develop" + default: + tag = os.Getenv("CI_COMMIT_SHA") + } + switch os.Getenv("K8S_OP") { case "create": if err := create(clientset, tag); err != nil { diff --git a/build/ci/.deploy-k8s.yml b/build/ci/.deploy-k8s.yml index e98649253fce5a944dffbd3090a775a19eccf7cb..ad70cd4f4c2a1005250dc7aafd76ff5017045bdb 100644 --- a/build/ci/.deploy-k8s.yml +++ b/build/ci/.deploy-k8s.yml @@ -50,7 +50,27 @@ deploy:latest: - job: "build:k8s-bot" artifacts: true rules: - - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_NIGHTLY == "" + +deploy:nightly:mainline: + <<: *deploy + stage: deploy + needs: + - job: "build:latest" + - job: "build:k8s-bot" + artifacts: true + rules: + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_NIGHTLY == "mainline" + +deploy:nightly:develop: + <<: *deploy + stage: deploy + needs: + - job: "build:latest" + - job: "build:k8s-bot" + artifacts: true + rules: + - if: $CI_COMMIT_BRANCH == "develop" && $CI_NIGHTLY == "mainline" destroy:k8s: image: bitnami/kubectl:latest