forked from 18511249012/changestream
-
Notifications
You must be signed in to change notification settings - Fork 0
/
circle.yml
58 lines (57 loc) · 2.07 KB
/
circle.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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
machine:
timezone: UTC
java:
version: oraclejdk8
environment:
SBT_VERSION: $(cat $CIRCLE_PROJECT_REPONAME/project/build.properties | awk -F'=' '{ print $2 }')
SBT_OPTS: "-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -Dversion=$CIRCLE_SHA1-$CIRCLE_BUILD_NUM"
MYSQL_USER: "changestream"
MYSQL_PASS: "changestreampass"
SQS_QUEUE_NAME: "__circle-firehose"
SNS_TOPIC_NAME: "__circle-firehose"
services:
- mysql
- docker
dependencies:
pre:
# Install Correct SBT Version
- mkdir -p $HOME/sbt/
- wget --no-clobber --output-document=$HOME/sbt/sbt-launch-"$SBT_VERSION.jar" https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/"$SBT_VERSION"/sbt-launch.jar || true
- echo "java $SBT_OPTS -jar $HOME/sbt/sbt-launch-$SBT_VERSION.jar \"\$@\"" > $HOME/bin/sbt
- chmod u+x $HOME/bin/sbt
- which sbt
- sbt sbt-version
# Configure MySQL
- mysql -e "CREATE USER 'changestream'@'localhost' IDENTIFIED BY 'changestreampass';GRANT REPLICATION SLAVE ON *.* TO 'changestream'@'localhost';GRANT ALL ON *.* TO 'changestream'@'localhost';" -uroot;
- chmod +x *.sh && ./circle.mycnf.sh
- sudo service mysql restart
- cat /etc/my.cnf
- echo "show variables like 'gtid_mode';" | mysql -uroot
cache_directories:
- "~/sbt"
- "~/.ivy2"
- "~/.sbt"
- "target/resolution-cache"
- "target/streams"
- "project/target/resolution-cache"
- "project/target/streams"
test:
override:
- sbt test:
parallel: true
- sbt it:test:
parallel: true
post:
- mkdir -p $CIRCLE_TEST_REPORTS/junit/
- find . -type f -regex ".*/target/test-reports/.*xml" -exec cp {} $CIRCLE_TEST_REPORTS/junit/ \;
- sbt debian:packageBin
- sbt docker
- mv target/*.deb $CIRCLE_ARTIFACTS/
- mv target/docker/Dockerfile $CIRCLE_ARTIFACTS/
deployment:
hub:
branch: master
commands:
- docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS
- docker push mavenlink/changestream
- docker tag mavenlink/changestream mavenlink/changestream:$CIRCLE_SHA1