I’m new to GitLab auto devOps and I’m trying to publish a NodeJs project (Gitlab example).
I’ve an EKS Kubernetes cluster, correctly integrated in my Gitlab instance, and an ECR as container registry.
So I’ve modified default .gitlab-ci.yml to make it build and publish on ECR but the deployement phase generate an error.
This is my edit on .gitlab-ci.yml:
...
build:
image: my-aws-openvpn-ssh-node
stage: build
before_script:
# docker login
- aws ecr get-login-password --region eu-west-1 | docker login --username AWS --password-stdin $CI_REGISTRY_IMAGE
- echo $CI_COMMIT_SHA
- echo $CI_COMMIT_REF_NAME
- echo $CI_REGISTRY_IMAGE # setted manually in environment variable
- echo $CI_REGISTRY # setted manually in environment variable
script:
- docker build --pull --add-host XXX --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
- docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME $CI_REGISTRY_IMAGE:latest
- docker push $CI_REGISTRY_IMAGE:latest
...
include:
# - template: Jobs/Build.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Jobs/Build.gitlab-ci.yml
...
And this is the deploy error:
$ auto-deploy deploy
secret "staging-secret" deleted
secret/staging-secret replaced
No helm values file found at '.gitlab/auto-deploy-values.yaml'
Deploying new stable release...
Release "staging" does not exist. Installing it now.
INSTALL FAILED
PURGING CHART
Error: release staging failed: timed out waiting for the condition
Successfully purged a chart!
Error: release staging failed: timed out waiting for the condition
Running after_script
Uploading artifacts for failed job
ERROR: Job failed: exit code 1
I think it’s because helm can’t download ECR image, I’ve no more clues.
Have someone configured Gitlab Auto DevOps on a similar infrastucture?
How can I make a docker login before helm start installing?
Is there any tutorial for this kind of infrastructure (EKS, ECR, Gitlab auto devops)?