--- image: python:2-jessie stages: - build - test - deploy test: services: - postgres:9.6-alpine variables: POSTGRES_DB: kape POSTGRES_USER: kape POSTGRES_PASSWORD: kape stage: test script: - wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - - sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' - apt-get update && apt-get install -y google-chrome-stable libappindicator1 libindicator7 libpq-dev libxss1 python-dev python-pip sudo - export CHROME_BIN=/usr/bin/google-chrome - curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - - apt-get install -y build-essential nodejs - npm install - npm run build-production - pip install -r requirements.txt - python manage.py migrate - python manage.py test - npm run karma artifacts: paths: - test/ SonarScanner Analysis: image: addianto/sonar-scanner-cli:latest stage: test script: - sonar-scanner -Dsonar.host.url=$SONARQUBE_HOST -Dsonar.login=$SONARQUBE_TOKEN only: - master pages: stage: deploy dependencies: - test script: - mv test/ public/ artifacts: paths: - public expire_in: 30 days staging: type: deploy script: - apt-get update -qy - apt-get install sshpass - git clone https://gitlab.com/PPL2017csui/PPLA1.git - cd PPLA1 - git checkout develop - git pull - git remote add deployment ssh://kape@bot.recruit.id:8023/home/kape.git - mkdir ~/.ssh - echo -e "Host bot.recruit.id\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config - sshpass -p yukcarikape git push deployment develop:master --force only: - develop production: type: deploy script: - apt-get update -qy - apt-get install sshpass - git clone https://gitlab.com/PPL2017csui/PPLA1.git - cd PPLA1 - git checkout master - git pull - git remote add deployment ssh://kape@bot.recruit.id:8022/home/kape.git - mkdir ~/.ssh - echo -e "Host bot.recruit.id\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config - sshpass -p yukcarikape git push deployment master:master --force when: manual only: - master Publish Container Image: image: docker:19-git stage: deploy services: # Workaround from https://forum.gitlab.com/t/docker-dind-stops-working-after-12-1-0-update/28664/2 - name: docker:19-dind entrypoint: ["env", "-u", "DOCKER_HOST"] command: ["dockerd-entrypoint.sh"] variables: DOCKER_HOST: tcp://docker:2375/ DOCKER_DRIVER: overlay2 DOCKER_TLS_CERTDIR: "" before_script: - docker info - docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD script: - docker build --build-arg=NPM_PROXY=$NPM_PROXY --build-arg=IMAGE_CREATED="$(date --utc -Iseconds)" --build-arg=IMAGE_REVISION="$(git show --pretty=oneline | tac | tail -n 1 | awk '{print $1}')" --tag $IMAGE_NAMESPACE/kape:latest . - docker push $IMAGE_NAMESPACE/kape:latest tags: - docker retry: 1 allow_failure: true only: - master