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

Update .gitlab-ci.yml file

parent 2612adaf
No related branches found
No related tags found
No related merge requests found
Pipeline #40546 failed
stages: name: CI/CD - Build & Deploy
- build
- deploy on:
push:
variables: branches:
DOCKER_IMAGE: $DOCKER_USERNAME/neo4j-populator - main
KUBE_NAMESPACE: $KUBE_NAMESPACE workflow_dispatch:
.default-docker: jobs:
image: docker:24.0 build-and-deploy:
services: runs-on: ubuntu-latest
- docker:24.0-dind
before_script: env:
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin DOCKER_IMAGE: ${{ secrets.DOCKER_USERNAME }}/neo4j-populator
KUBE_NAMESPACE: ${{ secrets.KUBE_NAMESPACE }}
build_and_push:
stage: build steps:
extends: .default-docker - name: Checkout repository
script: uses: actions/checkout@v4
- docker build -t $DOCKER_IMAGE:latest .
- docker push $DOCKER_IMAGE:latest - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
setup_kubeconfig:
stage: deploy - name: Login to Docker Hub
image: bitnami/kubectl:latest uses: docker/login-action@v3
script: with:
- mkdir -p ~/.kube username: ${{ secrets.DOCKER_USERNAME }}
- echo "$KUBECONFIG_CONTENT" > ~/.kube/config password: ${{ secrets.DOCKER_PASSWORD }}
- chmod 600 ~/.kube/config
artifacts: - name: Build and push Docker image
paths: uses: docker/build-push-action@v5
- ~/.kube/config with:
context: .
deploy_to_kubernetes: file: ./Dockerfile
stage: deploy push: true
image: bitnami/kubectl:latest tags: |
dependencies: ${{ env.DOCKER_IMAGE }}:latest
- setup_kubeconfig ${{ env.DOCKER_IMAGE }}:${{ github.sha }}
script:
- kubectl -n "$KUBE_NAMESPACE" delete -f ./deployment-neo4j.yml --ignore-not-found - name: Set up Kubeconfig
- kubectl -n "$KUBE_NAMESPACE" delete -f ./neo4j-service.yml --ignore-not-found run: |
- kubectl -n "$KUBE_NAMESPACE" delete -f ./job-db-populator.yml --ignore-not-found mkdir -p .kube
- kubectl -n "$KUBE_NAMESPACE" apply -f ./deployment-neo4j.yml echo "${{ secrets.KUBECONFIG }}" > .kube/config.yml
- kubectl -n "$KUBE_NAMESPACE" apply -f ./neo4j-service.yml
- kubectl -n "$KUBE_NAMESPACE" apply -f ./job-db-populator.yml - name: Delete old Kubernetes resources
run: |
kubectl --kubeconfig=.kube/config.yml -n $KUBE_NAMESPACE delete -f ./deployment-neo4j.yml --ignore-not-found
kubectl --kubeconfig=.kube/config.yml -n $KUBE_NAMESPACE delete -f ./neo4j-service.yml --ignore-not-found
kubectl --kubeconfig=.kube/config.yml -n $KUBE_NAMESPACE delete -f ./job-db-populator.yml --ignore-not-found
- name: Apply new Kubernetes configuration
run: |
kubectl --kubeconfig=.kube/config.yml -n $KUBE_NAMESPACE apply -f ./deployment-neo4j.yml
kubectl --kubeconfig=.kube/config.yml -n $KUBE_NAMESPACE apply -f ./neo4j-service.yml
kubectl --kubeconfig=.kube/config.yml -n $KUBE_NAMESPACE apply -f ./job-db-populator.yml
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment