diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4bcd6304d3813d6bd95d4cca06889bd9a0ebcb63..1eab128961b26274a16980a06e0958b0fbb70ac4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -53,17 +53,18 @@ build dev on gitlab.pasteur.fr: --docker-username="$DOCKER_USER" --docker-password="$DOCKER_TOKEN" --docker-email=kubernetes@pasteur.fr - -n "$NAMESPACE" + -n "$KUBE_NAMESPACE" --dry-run=client -o yaml | kubectl apply -f - - - envsubst < k8s/front-deployment.yaml | kubectl apply -n "$NAMESPACE" -f - - - envsubst < k8s/front-service.yaml | kubectl apply -n "$NAMESPACE" -f - - - envsubst < k8s/ingress.yaml | kubectl apply -n "$NAMESPACE" -f - - rules: - - if: $CI_PROJECT_ID == $GITLAB_PASTEUR_PROJECT_ID # gitlab.pasteur.fr only + - envsubst < k8s/front-deployment.yaml | kubectl apply -n "$KUBE_NAMESPACE" -f - + - envsubst < k8s/front-service.yaml | kubectl apply -n "$KUBE_NAMESPACE" -f - + - envsubst < k8s/ingress.yaml | kubectl apply -n "$KUBE_NAMESPACE" -f - .deploy-with-helm: stage: deploy image: docker.io/enix/ci-toolbox:1.21 + variables: + IMAGE_NAME: "front" + IMAGE_POLICY: "Always" script: - kubectl create secret docker-registry registry-gitlab @@ -73,17 +74,13 @@ build dev on gitlab.pasteur.fr: --docker-email=kubernetes@pasteur.fr --dry-run=client -n "$NAMESPACE" -o yaml | kubectl apply -f - - # - cd $CI_PROJECT_DIR/nyxui - helmfile lint - helmfile template - helmfile sync - rules: - - if: $CI_PROJECT_ID == $GITLAB_PASTEUR_PROJECT_ID # gitlab.pasteur.fr only deploy to pasteur.cloud: extends: .deploy-with-helm variables: - IMAGE_URL: "$CI_REGISTRY_IMAGE/front:$CI_COMMIT_SHORT_SHA" SERVICE_TARGET_PORT: "8080" IMAGE_SECRETS: "registry-gitlab" KUBE_NAMESPACE: "nyx-prod" @@ -94,18 +91,17 @@ deploy to pasteur.cloud: LIMITS_CPU: "2" LIMITS_MEMORY: "4Gi" LIMITS_STORAGE: "1Gi" - IMAGE_POLICY: "Always" environment: name: k8sprod-02/nyx-prod url: https://nyx.pasteur.cloud rules: - - if: $CI_COMMIT_BRANCH == "main" + - if: ($CI_COMMIT_BRANCH == "main" && + $CI_PROJECT_ID == $GITLAB_PASTEUR_PROJECT_ID) # gitlab.pasteur.fr only when: manual deploy to dev.pasteur.cloud: extends: .deploy-with-helm variables: - IMAGE_URL: "$CI_REGISTRY_IMAGE/front:$CI_COMMIT_SHORT_SHA" SERVICE_TARGET_PORT: "8080" IMAGE_SECRETS: "registry-gitlab" KUBE_NAMESPACE: "nyx-dev" @@ -116,10 +112,10 @@ deploy to dev.pasteur.cloud: LIMITS_CPU: "2" LIMITS_MEMORY: "4Gi" LIMITS_STORAGE: "1Gi" - IMAGE_POLICY: "Always" environment: name: k8sdev-01/nyx-dev url: https://nyx.dev.pasteur.cloud rules: - - if: $CI_COMMIT_BRANCH == "dev" + - if: ($CI_COMMIT_BRANCH == "dev" && + $CI_PROJECT_ID == $GITLAB_PASTEUR_PROJECT_ID) # gitlab.pasteur.fr only when: manual diff --git a/nyxui/templates/deployment-front.yaml b/nyxui/templates/deployment-front.yaml index 6205979f172ffaedd929e9f85c1021d77800b067..e4319b60f95077b28ca3c82ebbb063a4c36914a9 100644 --- a/nyxui/templates/deployment-front.yaml +++ b/nyxui/templates/deployment-front.yaml @@ -34,7 +34,7 @@ spec: - name: {{ .Chart.Name }} securityContext: {{- toYaml .Values.securityContext | nindent 12 }} - image: "{{ .Values.front.image.repository }}:{{ .Values.front.image.sha }}" + image: "{{ .Values.front.image.repository }}/{{ .Values.front.image.name }}:{{ .Values.front.image.tag }}" imagePullPolicy: {{ .Values.front.image.pullPolicy }} ports: - name: http diff --git a/nyxui/values.yaml b/nyxui/values.yaml index 535e5750d602c60abd5e49dab05d0d5bd00ef11b..c7bde4b53aa898e7b498be9c48dd79fee0850467 100644 --- a/nyxui/values.yaml +++ b/nyxui/values.yaml @@ -6,8 +6,9 @@ replicaCount: 1 front: image: - repository: registry-gitlab.pasteur.fr/nyx/nyxui/front - sha: "" + repository: registry-gitlab.pasteur.fr/nyx/nyxui.jl + name: front + tag: "" pullPolicy: Always service: targetPort: 8080 diff --git a/values-yaml.gotmpl b/values-yaml.gotmpl index 4d1bb857f67f6b3c836cc9b5c029953d085e126f..d2b4df2f2498b992c4b4f9c3589308ffe201af6f 100644 --- a/values-yaml.gotmpl +++ b/values-yaml.gotmpl @@ -6,9 +6,10 @@ replicaCount: 1 front: image: - repository: {{ requiredEnv "IMAGE_URL" }} + repository: {{ requiredEnv "CI_REGISTRY_IMAGE" }} + name: {{ requiredEnv "IMAGE_NAME" }} + tag: {{ requiredEnv "CI_COMMIT_SHORT_SHA" }} pullPolicy: {{ requiredEnv "IMAGE_POLICY" }} - sha: {{ requiredEnv "CI_COMMIT_SHORT_SHA" }} service: targetPort: {{ requiredEnv "SERVICE_TARGET_PORT" }}