diff --git a/Builds/Docker/build-ci.sh b/Builds/Docker/build-ci.sh new file mode 100755 index 000000000..5e12d0128 --- /dev/null +++ b/Builds/Docker/build-ci.sh @@ -0,0 +1,13 @@ +set -e + +mkdir -p build/docker/ +cp doc/rippled-example.cfg build/clang.debug/rippled build/docker/ +cp Builds/Docker/Dockerfile-testnet build/docker/Dockerfile +mv build/docker/rippled-example.cfg build/docker/rippled.cfg +strip build/docker/rippled +docker build -t ripple/rippled:$CIRCLE_SHA1 build/docker/ +docker tag ripple/rippled:$CIRCLE_SHA1 ripple/rippled:latest + +if [ -z "$CIRCLE_PR_NUMBER" ]; then + docker tag ripple/rippled:$CIRCLE_SHA1 ripple/rippled:$CIRCLE_BRANCH +fi diff --git a/Builds/Docker/push-to-hub.sh b/Builds/Docker/push-to-hub.sh new file mode 100755 index 000000000..45738c4c6 --- /dev/null +++ b/Builds/Docker/push-to-hub.sh @@ -0,0 +1,16 @@ +set -e + +if [ -z "$DOCKER_EMAIL" -o -z "$DOCKER_USERNAME" -o -z "$DOCKER_PASSWORD" ];then + echo "Docker credentials are not set. Can't login to docker, no containers will be pushed." + exit 0 +fi + +if [ -n "$CIRCLE_PR_NUMBER" ]; then + echo "Not pushing results of a pull request build." + exit 0 +fi + +docker login -e $DOCKER_EMAIL -u $DOCKER_USERNAME -p $DOCKER_PASSWORD +docker push ripple/rippled:$CIRCLE_SHA1 +docker push ripple/rippled:$CIRCLE_BRANCH +docker push ripple/rippled:latest diff --git a/circle.yml b/circle.yml index 8cc4d22fe..abd3664c7 100644 --- a/circle.yml +++ b/circle.yml @@ -33,20 +33,10 @@ test: # Run integration tests - npm test post: - - mkdir -p build/docker/ - - cp doc/rippled-example.cfg build/clang.debug/rippled build/docker/ - - cp Builds/Docker/Dockerfile-testnet build/docker/Dockerfile - - mv build/docker/rippled-example.cfg build/docker/rippled.cfg - - strip build/docker/rippled - - docker build -t ripple/rippled:$CIRCLE_SHA1 build/docker/ - - docker tag ripple/rippled:$CIRCLE_SHA1 ripple/rippled:latest - - docker tag ripple/rippled:$CIRCLE_SHA1 ripple/rippled:$CIRCLE_BRANCH + - ./Builds/Docker/build-ci.sh - docker images deployment: docker: branch: /.*/ commands: - - docker login -e $DOCKER_EMAIL -u $DOCKER_USERNAME -p $DOCKER_PASSWORD - - docker push ripple/rippled:$CIRCLE_SHA1 - - docker push ripple/rippled:$CIRCLE_BRANCH - - docker push ripple/rippled:latest + - ./Builds/Docker/push-to-hub.sh