Skip to content

Commit

Permalink
Integrate deployment task to Rultor
Browse files Browse the repository at this point in the history
Closes #38
  • Loading branch information
yukiisbored committed May 26, 2017
1 parent fff04c3 commit a514c6c
Show file tree
Hide file tree
Showing 3 changed files with 129 additions and 0 deletions.
52 changes: 52 additions & 0 deletions .misc/deploy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#!/usr/bin/env bash

# Automatic deployer script
# This script is meant to be run on solar.coala.io!

WORKDIR=/opt/solar

function log {
echo "$(date -u "+%b %Y %T") $@"
}

function update_instance {
instance=$1
full_path="$WORKDIR/$instance"

if [ -f "$full_path/docker-compose.yml" ]; then
pushd $full_path
log "Updating $instance ..."

docker-compose up --force-recreate --build -d

if [ $? -ne 0 ]; then
log "An error has occured while updating $instance!"
fi
popd
fi
}

function update_instances {
for instance in $@; do
update_instance $instance
done
}

log "Starting Automated Deployment ..."

if [ ! -d $WORKDIR ]; then
echo "Work directory $WORKDIR does not exist! Terminating program."
exit 1
fi

cd $WORKDIR

log "Pulling changes ..."
git pull

changed_instances=$(git diff-tree --no-commit-id --name-only -r HEAD | \
cut -d/ -f1 | uniq)

update_instances $changed_instances

log "Deployment finished! Have a nice day!"
68 changes: 68 additions & 0 deletions .misc/magic_key.asc
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
-----BEGIN PGP MESSAGE-----

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
=uiUy
-----END PGP MESSAGE-----
9 changes: 9 additions & 0 deletions .rultor.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
decrypt:
magic_key: "repo/.misc/magic_key.asc"
merge:
fast-forward: only
script: echo "Nothing to do."
deploy:
script:
- eval "$(ssh-agent -s)"
- chmod 600 ../magic_key
- ssh-add ../magic_key
- ssh [email protected] "bash -s" < ./repo/.misc/deploy.sh

0 comments on commit a514c6c

Please sign in to comment.