Skip to content
Snippets Groups Projects
.gitlab-ci.yml 918 B
Newer Older
Ijaz Ahmad's avatar
Ijaz Ahmad committed
# Author , IjazAhmad
# iahmad@ebi.ac.uk
image: docker:latest

stages:
  - build
  - deploy

services:
  - docker:dind
  
variables:
  CI_REGISTRY: dockerhub.ebi.ac.uk
  CI_REGISTRY_IMAGE: $CI_REGISTRY/$CI_PROJECT_PATH
  DOCKER_DRIVER: overlay2

before_script:
  - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY  
Ijaz Ahmad's avatar
Ijaz Ahmad committed
build-push:
Ijaz Ahmad's avatar
Ijaz Ahmad committed
  stage: build
  script:
     - docker pull $CI_REGISTRY_IMAGE:latest || true
Ijaz Ahmad's avatar
Ijaz Ahmad committed
     - docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA --tag $CI_REGISTRY_IMAGE:latest .
     - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
Ijaz Ahmad's avatar
Ijaz Ahmad committed
     - docker push $CI_REGISTRY_IMAGE:latest
Ijaz Ahmad's avatar
Ijaz Ahmad committed

deploy:
  stage: deploy
  script:
     - sed -i "s/CI_IMAGE/$CI_REGISTRY_IMAGE/g" k8s-configs/deployment.yaml
     - sed -i "s/TAG/$CI_COMMIT_SHA/g" k8s-configs/deployment.yam
Ijaz Ahmad's avatar
Ijaz Ahmad committed
     - kubectl apply --namespace webproduction-prod -f k8s-configs/

  only:
    - master