Skip to content
Snippets Groups Projects
Commit 2b0cc86b authored by ludo8147's avatar ludo8147
Browse files

local

parent cd0a17a8
No related branches found
No related tags found
No related merge requests found
......@@ -81,9 +81,14 @@ job_upload:
.deploy_template: &deploy_definition
stage: deploy
image:
name: bitnami/kubectl:latest
entrypoint: [""]
image: bitnami/kubectl:latest
before_script:
- mkdir -p $HOME/.kube
- cp $KUBECONFIG $HOME/.kube/config
- chmod 400 $HOME/.kube/config
- minikube status || minikube start
- eval $(minikube docker-env)
- docker build -t ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA} .
script:
- |
echo "Validating Kubernetes manifests..."
......@@ -98,9 +103,9 @@ job_upload:
-e "s/\${CI_REGISTRY_IMAGE}/$CI_REGISTRY_IMAGE/g" \
-e "s/\${CI_COMMIT_SHA}/$CI_COMMIT_SHA/g" \
-e "s/\${DB_PASSWORD}/$DB_PASSWORD/g" \
$file | kubectl apply --dry-run=client -f - -n $KUBE_NAMESPACE
$file | kubectl apply -f - -n $KUBE_NAMESPACE
done
echo "All manifests are valid."
echo "Deployment complete."
deploy_to_staging:
<<: *deploy_definition
......@@ -129,21 +134,4 @@ deploy_to_production:
INGRESS_HOST: "webservice.example.com"
only:
- main
when: manual
rollback:
stage: deploy
image:
name: bitnami/kubectl:latest
entrypoint: [""]
script:
- |
echo "Simulating rollback..."
echo "In a real environment, we would run:"
echo "kubectl rollout undo deployment/webservice -n $KUBE_NAMESPACE"
echo "Rollback simulation complete."
when: manual
environment:
name: staging
variables:
KUBE_NAMESPACE: ${CI_ENVIRONMENT_SLUG}
\ No newline at end of file
when: manual
\ No newline at end of file
......@@ -40,6 +40,7 @@ spec:
containers:
- name: webservice
image: ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA}
imagePullPolicy: Never
ports:
- containerPort: 8080
env:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment