Newer
Older
variables:
DOCKER_HOST: tcp://docker:2375
services:
- docker:dind
stages:
- build
- test
only:
- tags
artifacts:
paths:
- minerva.war
script:
- apt-get install -y curl sudo gnupg git openjdk-8-jdk ant maven
- curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
- sudo apt-get install -y nodejs
- ant maven-build
- cp web/target/web-1.0.war minerva.war
build_debian_package:
image: debian
stage: build
artifacts:
paths:
- "debian/*.deb"
script:
- apt-get install -y curl sudo gnupg git openjdk-8-jdk ant maven dh-make build-essential lintian devscripts xsltproc fakeroot xsltproc docbook-xsl
- curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
- sudo apt-get install -y nodejs
- export DEBFULLNAME="Piotr Gawron"
- export DEBEMAIL="piotr.gawron@uni.lu"
test_debian_package:
image: debian
stage: test
- name: piotrgawron/debian-repo
alias: debian-repo
tags:
- privileged
dependencies:
- build_debian_package
script:
- apt-get update
- apt-get install -y ssh software-properties-common dirmngr wget curl
- ls debian
- debian_file=$(ls debian/*.deb)
- echo "PUT debian/$debian_file /docker/incoming" | sftp -o StrictHostKeyChecking=no user@debian-repo
- ssh root@debian-repo /usr/local/sbin/reprepro-import
- apt-add-repository "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main"
- apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
- apt-add-repository "deb http://debian-repo/ unstable main"
- apt-get update
- echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections
- mv /usr/sbin/policy-rc.d /usr/sbin/policy-rc.d.backup
- mv Docker/policy-rc.d /usr/sbin/policy-rc.d
- apt-get install -y --allow-unauthenticated minerva
- mv /usr/sbin/policy-rc.d.backup /usr/sbin/policy-rc.d
- service tomcat8 start
- sleep 15
- wget http://localhost:8080/minerva/
- test 200 = $(curl --write-out %{http_code} --silent --output /dev/null -c cookie.txt http://localhost:8080/minerva/api/doLogin)
- test 200 = $(curl --write-out %{http_code} --silent --output /dev/null --cookie cookie.txt http://localhost:8080/minerva/api/projects/)