Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.45 KiB
Newer Older
Athanasios Karmas's avatar
Athanasios Karmas committed
stages:
  - upload
  - deploy
Athanasios Karmas's avatar
Athanasios Karmas committed

variables:
  OPENSHIFT_SERVER: https://okd-dev.hbp.eu
  #BUILD_ENV: int-build
  #BUILD_ENV: ebrains/ for DT
  BUILD_ENV: test-build
  OP: update
  SWIFT_FILE: ebrains-spack-builds${CI_PIPELINE_ID}.tar.gz
copy-files-to-swift:
  stage: upload
  script:
    #- 'curl -H "X-Auth-Token: ${OS_TOKEN}" -X DELETE ${OBJSTORE}ebrains-spack-builds.tar.gz'
    - tar czf ${SWIFT_FILE} packages/ repo.yaml spack.yaml
    - 'curl -H "X-Auth-Token: ${OS_TOKEN}" -i ${OBJSTORE} -X PUT -T ${SWIFT_FILE}'
  tags:
    - shell-runner
deploy-build-environment:
  stage: deploy
  before_script:
    - oc login "$OPENSHIFT_SERVER" --token="$OPENSHIFT_TOKEN"
  script:
    # create job description file
    - chmod a+x create_job.sh
    - ./create_job.sh $BUILD_ENV $OP $SWIFT_FILE $CI_PIPELINE_ID
    - cat simplejob${CI_PIPELINE_ID}.yml
    # select the project in openshift
    - oc project jupyterhub-int
    # delete the job (if exist)
    # start the deploy job
    - oc create -f simplejob${CI_PIPELINE_ID}.yml
    # wait for job to finish https://stackoverflow.com/questions/5073453wait-for-kubernetes-job-to-complete-on-either-failure-success-using-command-line
    - oc get job/simplejob${CI_PIPELINE_ID} -o=jsonpath='{.status}' -w && oc get job/simplejob -o=jsonpath='{.status.conditions[*].type}' | grep -i -E 'failed|complete' || echo 'Failed' 
    - oc logs jobs/simplejob${CI_PIPELINE_ID}
  tags:
    - shell-runner