@@ -8,8 +8,8 @@ variables:
88 GO_VERSION : " 1.25.6"
99
1010 # Image tags
11- BACKEND_IMAGE : " ${CI_REGISTRY_IMAGE }/backend"
12- TRANSCODER_IMAGE : " ${CI_REGISTRY_IMAGE }/transcoder"
11+ BACKEND_IMAGE : " ${IMAGE_REGISTRY }/backend"
12+ TRANSCODER_IMAGE : " ${IMAGE_REGISTRY }/transcoder"
1313
1414 # Security scanning
1515 TRIVY_VERSION : " 0.48.0"
@@ -31,7 +31,7 @@ variables:
3131stages :
3232 - lint
3333 - test
34- - sonarqube
34+ - quality
3535 - build
3636 - container-scan
3737 - publish
@@ -127,8 +127,8 @@ test:unit:
127127 - if : ' $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
128128 - if : ' $CI_COMMIT_TAG'
129129
130- sonarqube:check :
131- stage : sonarqube
130+ quality:sonarqube :
131+ stage : quality
132132 image :
133133 name : sonarsource/sonar-scanner-cli:latest
134134 entrypoint : [""]
@@ -138,8 +138,12 @@ sonarqube:check:
138138 - .sonar/cache
139139 script :
140140 - sonar-scanner
141- dependencies :
142- - test:unit
141+ artifacts :
142+ paths :
143+ - .scannerwork/report-task.txt
144+ expire_in : 1 hour
145+ needs :
146+ - test:unit
143147 allow_failure : true
144148 rules :
145149 - if : ' $CI_PIPELINE_SOURCE == "merge_request_event"'
@@ -149,76 +153,36 @@ sonarqube:check:
149153 variables :
150154 - $SONAR_TOKEN
151155
152- sonarcloud:quality-gate :
153- stage : sonarqube
154- image :
155- name : sonarsource/sonar-scanner-cli:latest
156- entrypoint : [""]
157-
158- script :
159- # - apt install --no-cache curl jq
160- - |
161- TASK_URL=$(grep ceTaskUrl .scannerwork/report-task.txt | cut -d'=' -f2-)
162- echo "CE Task URL: $TASK_URL"
163-
164- # Poll analysis status
165- for i in $(seq 1 30); do
166- RESPONSE=$(curl -s -u "${SONAR_TOKEN}:" "$TASK_URL")
167- STATUS=$(echo "$RESPONSE" | jq -r '.task.status')
168- echo "Analysis status: $STATUS"
169-
170- if [ "$STATUS" = "SUCCESS" ]; then
171- ANALYSIS_ID=$(echo "$RESPONSE" | jq -r '.task.analysisId')
172-
173- QG_STATUS=$(curl -s \
174- -u "${SONAR_TOKEN}:" \
175- "https://sonarcloud.io/api/qualitygates/project_status?analysisId=${ANALYSIS_ID}" \
176- | jq -r '.projectStatus.status')
177-
178- echo "Quality Gate status: $QG_STATUS"
179-
180- if [ "$QG_STATUS" != "OK" ]; then
181- echo "❌ Quality Gate FAILED"
182- exit 1
183- fi
184-
185- echo "✅ Quality Gate PASSED"
186- exit 0
187- fi
188-
189- sleep 5
190- done
191-
192- echo "❌ Timeout waiting for Quality Gate"
193- exit 1
194-
195- needs :
196- - sonarqube:check
197-
198- rules :
199- - if : ' $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
200- - if : ' $CI_COMMIT_TAG'
201- timeout : 30s
202- allow_failure : false
203-
204- # ==================== BUILD STAGE ====================
205-
206156.build_template : &build_template
207157 stage : build
208- image : docker:24-dind
209- services :
210- - docker:24-dind
158+ # image: docker:24
159+ # services:
160+ # - docker:24-dind
161+ # variables:
162+ # DOCKER_HOST: tcp://docker:2375
163+ # DOCKER_TLS_CERTDIR: ""
211164 before_script :
212- - echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY
165+ - unset DOCKER_HOST
166+ - unset DOCKER_TLS_CERTDIR
167+ - docker pull public.ecr.aws/aws-cli/aws-cli
168+ - |
169+ docker run --rm \
170+ -e AWS_ACCESS_KEY_ID \
171+ -e AWS_SECRET_ACCESS_KEY \
172+ -e AWS_DEFAULT_REGION \
173+ public.ecr.aws/aws-cli/aws-cli \
174+ ecr get-login-password --region $AWS_DEFAULT_REGION \
175+ | docker login --username AWS --password-stdin ${IMAGE_REGISTRY}
213176
214177build:backend :
215178 << : *build_template
216179 script :
217180 - |
218181 # Set image tags
219182 export IMAGE_TAG=${CI_COMMIT_SHORT_SHA}
220- export IMAGE_VERSIONED=${BACKEND_IMAGE} :${IMAGE_TAG}
183+ export IMAGE_VERSIONED=${IMAGE_REGISTRY}/backend :${IMAGE_TAG}
221184
185+ echo $IMAGE_VERSIONED
222186 # Build image
223187 docker build \
224188 --file docker/backend.dockerfile \
@@ -312,8 +276,8 @@ build:transcoder:
312276container_scanning:backend :
313277 stage : container-scan
314278 image : docker:24
315- services :
316- - docker:24-dind
279+ # services:
280+ # - docker:24-dind
317281 variables :
318282 IMAGE : ${BACKEND_IMAGE}:${CI_COMMIT_SHORT_SHA}
319283 DOCKER_HOST : tcp://docker:2376
0 commit comments