.gitlab-ci.yml 1.75 KB
Newer Older
1 2 3 4 5 6 7 8 9
image: openshift/origin-cli

default:
    tags:
       - debian
    timeout: 1h 00m

stages:
    - build
10
    - deploy
11 12 13 14 15

variables:
    OPENSHIFT_SERVER: https://${OPENSHIFT_IP}:${OPENSHIFT_PORT}/
    OPENSHIFT_DOMAIN: apps.okd.aip.de
# Configure this variable in Secure Variables:
16 17
#OPENSHIFT_TOKEN: see in OKD web interface (copy login cmd)
#OPENSHIFT_PROJECT: the name of the project
18 19 20 21 22 23

.login_to_okd: &login_to_okd
    - oc login "$OPENSHIFT_SERVER" --token="$OPENSHIFT_TOKEN" --insecure-skip-tls-verify	
    - oc project "$CI_PROJECT_NAME-$CI_PROJECT_ID" 2> /dev/null || oc new-project "$CI_PROJECT_NAME-$CI_PROJECT_ID"

.build_image: &build_image
Yori Fournier's avatar
Yori Fournier committed
24
    - oc new-build --strategy=docker --binary --name "build-$APP" --to "image-$APP" --env-file="./docker/$APP/env"
25
    - oc start-build build-$APP --from-dir=./docker/$APP --follow 
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58

build-pgapp:
    stage: build
    variables:
      APP: pgapp
      DOCKER_FILE: dockerfile
      APP_HOST: $CI_PROJECT_NAME-$CI_ENVIRONMENT_SLUG.$OPENSHIFT_DOMAIN
    before_script:
      - *login_to_okd
    script:
      - *build_image

build-pgdata:
    stage: build
    variables:
      APP: pgdata
      DOCKER_FILE: dockerfile
      APP_HOST: $CI_PROJECT_NAME-$CI_ENVIRONMENT_SLUG.$OPENSHIFT_DOMAIN
    before_script:
      - *login_to_okd
    script:
      - *build_image

build-wpdb:
    stage: build
    variables:
      APP: wpdb
      DOCKER_FILE: dockerfile
      APP_HOST: $CI_PROJECT_NAME-$CI_ENVIRONMENT_SLUG.$OPENSHIFT_DOMAIN
    before_script:
      - *login_to_okd
    script:
      - *build_image
59 60 61 62 63 64

deploy:
    stage: deploy
    before_script:
      - *login_to_okd
    script:
Yori Fournier's avatar
Yori Fournier committed
65 66
      - oc apply -f manifest.yaml
#      - oc new-app image-wpdb # this is working if one adds securityContext: runAsUser: 1000 in YAML file of deploymentConfig