Skip to content
Snippets Groups Projects

updated logic of the test-job

Closed Dobromir Palushev requested to merge just-a-test into main
1 file
+ 1
0
Compare changes
  • Side-by-side
  • Inline
+ 37
31
@@ -7,13 +7,15 @@ workflow:
@@ -7,13 +7,15 @@ workflow:
variables:
variables:
DOCKER_VERSION: '20.10.17'
DOCKER_VERSION: '20.10.17'
K8S_VERSION: '1.24'
MONGO_VERSION: '4.4'
GOOGLE_CLOUD_SDK_IMAGE_VERSION: '400.0.0'
K8S_NAMESPACE: 'todoapp-devops'
K8S_NAMESPACE: 'todoapp-devops'
 
GOOGLE_CLOUD_SDK_IMAGE_VERSION: '400.0.0'
 
GCP_PROJECT_ID: ss22-devops-app
 
GCP_COMPUTE_REGION: 'europe-west4'
CONTAINER_TAG: '${CI_REGISTRY_IMAGE}:${CI_PIPELINE_IID}-${CI_COMMIT_SHORT_SHA}'
CONTAINER_TAG: '${CI_REGISTRY_IMAGE}:${CI_PIPELINE_IID}-${CI_COMMIT_SHORT_SHA}'
stages:
stages:
- test
# - test
- build
- build
- release
- release
- deploy
- deploy
@@ -26,27 +28,33 @@ stages:
@@ -26,27 +28,33 @@ stages:
- gcloud config set compute/zone ${GCP_COMPUTE_REGION}
- gcloud config set compute/zone ${GCP_COMPUTE_REGION}
- gcloud container clusters get-credentials ${GCP_PROJECT_ID}-gke
- gcloud container clusters get-credentials ${GCP_PROJECT_ID}-gke
test-image:
# run-tests:
stage: test
# stage: test
tags:
# tags:
- docker-priviliged
# - docker-privileged
image: docker:${DOCKER_VERSION}
# image: docker:${DOCKER_VERSION}
services:
# services:
- name: docker:${DOCKER_VERSION}-dind
# - name: docker:${DOCKER_VERSION}-dind
script:
# alias: containerhost
- docker build
# script:
--tag "${CONTAINER_TAG}-test"
# - docker run -p 27017:27017 -d --name mongo-container --rm mongo:${MONGO_VERSION}
--target=test
# - docker build
"./"
# --tag "${CONTAINER_TAG}-test"
after_script:
# --target=test
- docker image rm --force "${CONTAINER_TAG}-test"
# --build-arg MONGODB_URL_TEST=mongodb://containerhost:27017/todo-app
 
# --build-arg JWT_SECRET_TEST=my-very-secret-jwt
 
# "./app"
 
# after_script:
 
# - docker stop mongo-container
 
# - docker images -a | grep "mongo" | awk '{print $3}' | xargs docker rmi --force
 
# - docker image rm --force "${CONTAINER_TAG}-test"
build-image:
build-image:
stage: build
stage: build
needs:
# needs:
- 'test-image'
# - 'run-tests'
tags:
tags:
- docker-priviliged
- docker-privileged
image: docker:${DOCKER_VERSION}
image: docker:${DOCKER_VERSION}
services:
services:
- name: docker:${DOCKER_VERSION}-dind
- name: docker:${DOCKER_VERSION}-dind
@@ -55,6 +63,7 @@ build-image:
@@ -55,6 +63,7 @@ build-image:
script:
script:
- docker image build
- docker image build
--tag "${CONTAINER_TAG}"
--tag "${CONTAINER_TAG}"
 
--target=build
"./app"
"./app"
# - docker image build
# - docker image build
# --tag "${CONTAINER_TAG}-google-sdk"
# --tag "${CONTAINER_TAG}-google-sdk"
@@ -67,9 +76,6 @@ build-image:
@@ -67,9 +76,6 @@ build-image:
create-release_image:
create-release_image:
stage: release
stage: release
rules:
- if: $CI_COMMIT_REF_NAME =~ /main/
when: 'always'
tags:
tags:
- docker-privileged
- docker-privileged
image: docker:${DOCKER_VERSION}
image: docker:${DOCKER_VERSION}
@@ -108,7 +114,7 @@ deploy-image:
@@ -108,7 +114,7 @@ deploy-image:
extends: .gke-initialization
extends: .gke-initialization
stage: deploy
stage: deploy
needs:
needs:
- 'build-image'
- 'create-release_image'
rules:
rules:
- if: $CI_COMMIT_REF_NAME =~ /staging/
- if: $CI_COMMIT_REF_NAME =~ /staging/
when: 'always'
when: 'always'
@@ -124,13 +130,13 @@ deploy-image:
@@ -124,13 +130,13 @@ deploy-image:
script:
script:
- VERSION="${CI_PIPELINE_IID}-${CI_COMMIT_SHORT_SHA}"
- VERSION="${CI_PIPELINE_IID}-${CI_COMMIT_SHORT_SHA}"
- IMAGE="${CI_REGISTRY_IMAGE}:${VERSION}"
- IMAGE="${CI_REGISTRY_IMAGE}:${VERSION}"
- cd "app/k8s-manifests"
- cd "./k8s-manifests"
- kubectl apply secrets.yaml --namespace "${ENVIRONMENT_NAME}-${K8S_NAMESPACE}"
- kubectl apply -f secrets.yaml --namespace "${ENVIRONMENT_NAME}-${K8S_NAMESPACE}"
- kubectl apply gitlab-registry-credentials.yaml --namespace "${ENVIRONMENT_NAME}-${K8S_NAMESPACE}"
- kubectl apply -f gitlab-registry-credentials.yaml --namespace "${ENVIRONMENT_NAME}-${K8S_NAMESPACE}"
- kubectl apply configmap.yaml --namespace "${ENVIRONMENT_NAME}-${K8S_NAMESPACE}"
- kubectl apply -f configmap.yaml --namespace "${ENVIRONMENT_NAME}-${K8S_NAMESPACE}"
- kubectl apply deployment.yaml --namespace "${ENVIRONMENT_NAME}-${K8S_NAMESPACE}"
- kubectl apply -f deployment.yaml --namespace "${ENVIRONMENT_NAME}-${K8S_NAMESPACE}"
- kubectl apply service.yaml --namespace "${ENVIRONMENT_NAME}-${K8S_NAMESPACE}"
- kubectl apply -f service.yaml --namespace "${ENVIRONMENT_NAME}-${K8S_NAMESPACE}"
- kubectl apply ingress.yaml --namespace "${ENVIRONMENT_NAME}-${K8S_NAMESPACE}"
- kubectl apply -f ingress.yaml --namespace "${ENVIRONMENT_NAME}-${K8S_NAMESPACE}"
Loading