Commit bc96de04 authored by Borreguero Calvo, Jose's avatar Borreguero Calvo, Jose
Browse files

Merge branch 'clean_build_directory' into 'main'

clean docker images and change permissions from root to gitlab-runner

See merge request !38
parents dd0595e1 f0e2ba4c
Loading
Loading
Loading
Loading
Loading
+49 −5
Original line number Diff line number Diff line
@@ -10,19 +10,58 @@ stages:
  - static
  - build-deploy

#####
# YAML anchors Section
# to reuse setup and teardown commands
#####

# the include directive creates a before script to grab some "common" functions, such as func_rse_docker_cleanup
#
# func_rse_docker_cleanup() {
#   func_rse_user_in_docker
#   docker stop $(docker ps -aq) 2>/dev/null || true
#   docker rm $(docker ps -a -q) 2>/dev/null || true
#   docker rmi $(docker images -q) 2>/dev/null || true
#   docker volume prune --force || true
#   docker image prune -fa || sudo systemctl restart docker
#   docker system prune -fa || sudo systemctl restart docker


.docker-login: &docker-login
  - docker login --username=${CI_REGISTRY_USER} --password=${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}

.teardown_cleanup: &teardown_cleanup
  - curl https://code.ornl.gov/rse-deployment/rse-sharables/raw/master/rse-bash-modules.sh -O
  - source rse-bash-modules.sh
  - func_rse_docker_cleanup
  - sudo chown -R gitlab-runner .


#####
# Jobs Section
#####

rpmlint:
  stage: static
  before_script:
    - sudo chown -R gitlab-runner .
  script:
    - docker login --username=${CI_REGISTRY_USER} --password=${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
    - *docker-login
    - docker run -v $PWD/nsd-app-wrap.spec:/tmp/nsd-app-wrap.spec "${CENTOS7_IMG}" /bin/bash -c "yum install -y git rpm-build rpmlint && rpmlint /tmp/nsd-app-wrap.spec"
  after_script:
    - *teardown_cleanup
  tags:
    - neutrons-multi-builder

precommit:
  stage: static
  before_script:
    - sudo chown -R gitlab-runner .
  script:
    - docker login --username=${CI_REGISTRY_USER} --password=${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
    - *docker-login
    - docker run -v $PWD:/tmp "${MINICONDA_IMG}" /bin/bash -c "cd /tmp && pip install pre-commit && pre-commit run --all-files"
  after_script:
    - *teardown_cleanup
  tags:
    - neutrons-multi-builder

@@ -30,10 +69,15 @@ precommit:
build-deploy:
  stage: build-deploy
  environment: $CI_COMMIT_REF_SLUG
  rules:
    - if: $CI_COMMIT_REF_PROTECTED == "true"
  before_script:
    - sudo chown -R gitlab-runner .
    - func_rse_docker_cleanup
  script:
    - docker login --username=$CI_REGISTRY_USER --password=$CI_REGISTRY_PASSWORD $CI_REGISTRY
    - *docker-login
    - docker build --build-arg SSH_KEY="$SSH_KEY" --build-arg SSH_USER="$SSH_USER" -t $IMAGE .
  after_script:
    - *teardown_cleanup
  tags:
    - sns-hfir-scse
  rules:
    - if: $CI_COMMIT_REF_PROTECTED == "true"