Skip to content

Commit

Permalink
chore(CI): Move release script out of travis config
Browse files Browse the repository at this point in the history
  • Loading branch information
Betree committed Dec 8, 2018
1 parent e825ec3 commit 9e48917
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 22 deletions.
24 changes: 2 additions & 22 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,9 @@
# ----- Config -----
--- # ----- Config -----

stages:
- name: test
- name: release

env:
CF_API_REST_IMAGE: captainfact/rest-api:$TRAVIS_BRANCH
CF_API_GRAPHQL_IMAGE: captainfact/graphql-api:$TRAVIS_BRANCH
CF_API_ATOM_FEED: captainfact/atom-feed:$TRAVIS_BRANCH
CF_API_OPENGRAPH_IMAGE: captainfact/opengraph:$TRAVIS_BRANCH
CF_API_JOBS_IMAGE: captainfact/jobs:$TRAVIS_BRANCH

# ---- Jobs ----

jobs:
Expand Down Expand Up @@ -39,17 +32,4 @@ jobs:
sudo: required
services: [docker]
script:
- set -e
- # ---- Build ----
- docker build --build-arg APP=cf_rest_api -t ${CF_API_REST_IMAGE} .
- docker build --build-arg APP=cf_graphql -t ${CF_API_GRAPHQL_IMAGE} .
- docker build --build-arg APP=cf_atom_feed -t ${CF_API_ATOM_FEED} .
- docker build --build-arg APP=cf_opengraph -t ${CF_API_OPENGRAPH_IMAGE} .
- docker build --build-arg APP=cf_jobs -t ${CF_API_JOBS_IMAGE} .
- # ---- Push release ----
- docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD";
- docker push $CF_API_REST_IMAGE
- docker push $CF_API_GRAPHQL_IMAGE
- docker push $CF_API_ATOM_FEED
- docker push $CF_API_OPENGRAPH_IMAGE
- docker push $CF_API_JOBS_IMAGE
- ./rel/release.sh $TRAVIS_BRANCH
39 changes: 39 additions & 0 deletions rel/release.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#!/usr/bin/env bash
# Build all releases for given tags and push them to Docker registry
# ------------------------------------------------------------------

if [ "$#" -ne 1 ]; then
echo "Usage: $0 environment"
echo "Example: $0 staging"
exit 1
fi

if [ -z "$DOCKER_USERNAME" ] || [ -z "$DOCKER_PASSWORD" ]; then
echo "[Warning] Docker credentials not provided. You must be logged in to push to registry."
fi

set -e

# ---- Images names ----
CF_API_REST_IMAGE: captainfact/rest-api:$1
CF_API_GRAPHQL_IMAGE: captainfact/graphql-api:$1
CF_API_ATOM_FEED: captainfact/atom-feed:$1
CF_API_OPENGRAPH_IMAGE: captainfact/opengraph:$1
CF_API_JOBS_IMAGE: captainfact/jobs:$1

# ---- Build ----
echo "[RELEASE] Building Apps 馃敤"
docker build --build-arg APP=cf_rest_api -t ${CF_API_REST_IMAGE} .
docker build --build-arg APP=cf_graphql -t ${CF_API_GRAPHQL_IMAGE} .
docker build --build-arg APP=cf_atom_feed -t ${CF_API_ATOM_FEED} .
docker build --build-arg APP=cf_opengraph -t ${CF_API_OPENGRAPH_IMAGE} .
docker build --build-arg APP=cf_jobs -t ${CF_API_JOBS_IMAGE} .

# ---- Push release ----
echo "[RELEASE] Pushing Apps 馃殌"
docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD";
docker push $CF_API_REST_IMAGE
docker push $CF_API_GRAPHQL_IMAGE
docker push $CF_API_ATOM_FEED
docker push $CF_API_OPENGRAPH_IMAGE
docker push $CF_API_JOBS_IMAGE

0 comments on commit 9e48917

Please sign in to comment.