Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.69 KiB
default:
  image: python:3.9-slim

# before script copied from gitlab docs
before_script:
  - 'command -v ssh-agent >/dev/null || ( apt-get update -y && apt-get install openssh-client gcc libxslt-dev libffi-dev libssl-dev build-essential python3-dev -y )'

stages:
  - test
  - build
  - publish
  - deploy

test:
  stage: test
  image: 
    name: apache/airflow:2.1.3
    entrypoint: [""]
  before_script:
    - airflow db init
    - pip install -r requirements.txt
    - pip install nose==1.3.7
    - airflow connections add --conn-uri https://b2share-testing.fz-juelich.de/ default_b2share
  script: 
   - ls 
   - pwd
   - cp dags/* /opt/airflow/dags/
   - airflow dags list 
   - airflow connections list
   - airflow dags test testdag 2021-08-18
   - nosetests

deploy-test:
  stage: deploy
  environment: Testing
  only: 
   - mptest
  when: manual
  variables:
    OS_AUTH_TYPE: v3applicationcredential
    OS_AUTH_URL: https://hdf-cloud.fz-juelich.de:5000
    OS_IDENTITY_API_VERSION: 3
    OS_REGION_NAME: "HDFCloud"
    OS_INTERFACE: public
    FLOATING_IP: 134.94.199.220
  script:
    - echo "Starting the full testing deployment of airflows example."
    - pip install python-openstackclient
    - INSTANCE_ID=`openstack server create -f value -c id --prefix IMAGE_ --flavor m2 --image 149a65b5-aeb8-499f-aaa6-ec966bd28dd6 --user-data scripts/cloudinit.yml --security-group ssh --security-group airflows --security-group www --security-group https airflow-testing`
    - while [ "`openstack server show $INSTANCE_ID -c addresses -f value`" = "{}" ]; do sleep 5; done # wait until an address is available to attach the floating ip
    - openstack server add floating ip $INSTANCE_ID $FLOATING_IP
    - echo "Done"