Skip to content
Snippets Groups Projects
Commit 6fc74588 authored by lucas.landrecy's avatar lucas.landrecy
Browse files

Update .gitlab-ci.yml file

parent c3fe0921
No related branches found
No related tags found
No related merge requests found
Pipeline #40542 failed
stages:
- build
- push
- deploy
variables:
DOCKER_DRIVER: overlay2
CLIENT_IMAGE: $CI_REGISTRY_IMAGE/client:$CI_COMMIT_SHORT_SHA
NEO4J_IMAGE: $CI_REGISTRY_IMAGE/neo4j:$CI_COMMIT_SHORT_SHA
.default-docker-job:
image: docker:24.0
services:
- docker:24.0-dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
# Build both images
build_client:
extends: .default-docker-job
stage: build
script:
- docker build -t $CLIENT_IMAGE ./client
build_neo4j:
extends: .default-docker-job
stage: build
script:
- docker build -t $NEO4J_IMAGE ./neo4j
# Push both images
push_client:
extends: .default-docker-job
stage: push
script:
- docker push $CLIENT_IMAGE
needs: [build_client]
push_neo4j:
extends: .default-docker-job
stage: push
script:
- docker push $NEO4J_IMAGE
needs: [build_neo4j]
# Optional deployment (e.g., via kubectl or Helm)
# deploy:
# stage: deploy
# image:
# name: bitnami/kubectl:latest
# entrypoint: [""]
# script:
# - echo "$KUBECONFIG" > kubeconfig.yaml
# - export KUBECONFIG=$CI_PROJECT_DIR/kubeconfig.yaml
# - kubectl set image deployment/client client-container=$CLIENT_IMAGE --namespace=mon-namespace
# - kubectl set image deployment/neo4j neo4j-container=$NEO4J_IMAGE --namespace=mon-namespace
# only:
# - main
# needs: [push_client, push_neo4j]
name: CI/CD - Build & Deploy
on:
push:
branches:
- main
workflow_dispatch:
jobs:
build-and-deploy:
runs-on: ubuntu-latest
env:
DOCKER_IMAGE: ${{ secrets.DOCKER_USERNAME }}/neo4j-populator
KUBE_NAMESPACE: ${{ secrets.KUBE_NAMESPACE }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push image to Docker Hub
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ env.DOCKER_IMAGE }}:latest
- name: Delete old resources
run: |
kubectl -n $KUBE_NAMESPACE delete -f ./deployment-neo4j.yml --kubeconfig=.kube/config.yml --ignore-not-found
kubectl -n $KUBE_NAMESPACE delete -f ./neo4j-service.yml --kubeconfig=.kube/config.yml --ignore-not-found
kubectl -n $KUBE_NAMESPACE delete -f ./job-db-populator.yml --kubeconfig=.kube/config.yml --ignore-not-found
- name: Deploy to Kubernetes
run: |
kubectl -n $KUBE_NAMESPACE apply -f ./deployment-neo4j.yml --kubeconfig=.kube/config.yml
kubectl -n $KUBE_NAMESPACE apply -f ./neo4j-service.yml --kubeconfig=.kube/config.yml
kubectl -n $KUBE_NAMESPACE apply -f ./job-db-populator.yml --kubeconfig=.kube/config.yml
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment