From f65925dc21a281594a2a6fb57ed76ff543b99398 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Tue, 11 Apr 2017 13:34:22 +0200 Subject: [PATCH] Enable CircleCI build. See gh-97. --- .settings.xml | 60 +++++++++++++++++++++++++++++++++++++++++++ circle.yml | 56 ++++++++++++++++++++++++++++++++++++++++ pom.xml | 71 +++++++++++++++++++++++++++++++++++++++++++++++---- 3 files changed, 182 insertions(+), 5 deletions(-) create mode 100644 .settings.xml create mode 100644 circle.yml diff --git a/.settings.xml b/.settings.xml new file mode 100644 index 00000000..270181b3 --- /dev/null +++ b/.settings.xml @@ -0,0 +1,60 @@ + + + + + repo.spring.io + ${env.CI_DEPLOY_USERNAME} + ${env.CI_DEPLOY_PASSWORD} + + + + + spring + true + + + spring-snapshots + Spring Snapshots + http://repo.spring.io/libs-snapshot-local + + true + + + + spring-milestones + Spring Milestones + http://repo.spring.io/libs-milestone-local + + false + + + + spring-releases + Spring Releases + http://repo.spring.io/release + + false + + + + + + spring-snapshots + Spring Snapshots + http://repo.spring.io/libs-snapshot-local + + true + + + + spring-milestones + Spring Milestones + http://repo.spring.io/libs-milestone-local + + false + + + + + + diff --git a/circle.yml b/circle.yml new file mode 100644 index 00000000..3d37169f --- /dev/null +++ b/circle.yml @@ -0,0 +1,56 @@ +general: + branches: + ignore: + - gh-pages # list of branches to ignore + +machine: + services: + - rabbitmq-server + java: + version: oraclejdk8 + +dependencies: + override: + - ./mvnw -s .settings.xml -B -U --fail-never dependency:go-offline || true + cache_directories: + - "download" + - "~/.m2" + +database: + override: + - mkdir -p download + - test -f download/apache-cassandra-2.2.8-bin.tar.gz || wget https://archive.apache.org/dist/cassandra/2.2.8/apache-cassandra-2.2.8-bin.tar.gz -O download/apache-cassandra-2.2.8-bin.tar.gz + - tar xzf download/apache-cassandra-2.2.8-bin.tar.gz + - cp -f spring-cloud-vault-config-databases/src/test/resources/cassandra.yaml apache-cassandra-2.2.8/conf + - mkdir -p apache-cassandra-2.2.8/data + - apache-cassandra-2.2.8/bin/cassandra -f: + background: true + - sudo rabbitmq-plugins enable rabbitmq_management + - sudo service rabbitmq-server restart + - mysql -e "CREATE USER 'springvault' IDENTIFIED by 'springvault';" + - mysql -uroot -e "GRANT ALL PRIVILEGES ON *.* TO 'springvault'@'%' WITH GRANT OPTION;"; + - psql -U postgres -c "CREATE ROLE springvault WITH LOGIN PASSWORD 'springvault' CREATEROLE CREATEUSER;" + - |- + mongo admin --eval "db.createUser({user: 'springvault', pwd:'springvault', roles:['root']});" + - apache-cassandra-2.2.8/bin/cqlsh localhost -u cassandra -p cassandra -e "CREATE USER 'springvault' WITH PASSWORD 'springvault' SUPERUSER" + - src/test/bash/install_vault.sh + - src/test/bash/install_consul.sh + +test: + pre: + - src/test/bash/create_certificates.sh + - src/test/bash/local_run_vault.sh: + background: true + - src/test/bash/local_run_consul.sh: + background: true + override: + - ./mvnw -s .settings.xml clean install -U -P sonar -nsu -B -Dmaven.test.redirectTestOutputToFile=true -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + - ./mvnw -s .settings.xml org.jacoco:jacoco-maven-plugin:report -U -P sonar -Djacoco.dataFile=$(pwd)/target/jacoco.exec + post: + - apache-cassandra-2.2.8/bin/nodetool stopdaemon || true + - pkill vault || true + - pkill consul || true + - find . -type f -regex ".*/spring-cloud-*.*/target/*.*" | cpio -pdm $CIRCLE_ARTIFACTS + - mkdir -p $CIRCLE_TEST_REPORTS/junit/ + - find . -type f -regex ".*/target/.*-reports/.*" -exec cp {} $CIRCLE_TEST_REPORTS/junit/ \; + - bash <(curl -s https://codecov.io/bash) diff --git a/pom.xml b/pom.xml index 85708fa1..458e6f6e 100644 --- a/pom.xml +++ b/pom.xml @@ -1,12 +1,14 @@ - + 4.0.0 org.springframework.cloud spring-cloud-build 1.3.1.RELEASE - + @@ -30,8 +32,10 @@ https://github.com/spring-cloud/spring-cloud-vault - scm:git:git://github.com/spring-cloud/spring-cloud-vault.git - scm:git:ssh://git@github.com/spring-cloud/spring-cloud-vault.git + scm:git:git://github.com/spring-cloud/spring-cloud-vault.git + + + scm:git:ssh://git@github.com/spring-cloud/spring-cloud-vault.git HEAD @@ -193,13 +197,70 @@ - spring-releases + spring-snap Spring Releases https://repo.spring.io/release false + + spring-snapshots + Spring Snapshots + https://repo.spring.io/libs-snapshot + + true + + + + + + sonar + + false + + + + + org.jacoco + jacoco-maven-plugin + 0.7.9 + + ${sonar.jacoco.reportPath} + true + + + + agent + + prepare-agent + + + + report + + report + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + + listener + org.sonar.java.jacoco.JUnitListener + + + + + + + + +