Last active
March 12, 2018 13:38
-
-
Save epintos/d39ea089b4b14c820285 to your computer and use it in GitHub Desktop.
Ruby on Rails Continuous Integration with Jenkins and Docker Compose
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash +x | |
set -e | |
# Remove unnecessary files | |
echo -e "\033[34mRemoving unnecessary files...\033[0m" | |
rm -f log/*.log &> /dev/null || true &> /dev/null | |
rm -rf public/uploads/* &> /dev/null || true &> /dev/null | |
# Build Project | |
echo -e "\033[34mBuilding Project...\033[0m" | |
docker-compose --project-name=${JOB_NAME} build | |
# Prepare test database | |
COMMAND="bundle exec rake db:drop db:create db:migrate" | |
echo -e "\033[34mRunning: $COMMAND\033[0m" | |
docker-compose --project-name=${JOB_NAME} run \ | |
-e RAILS_ENV=test web $COMMAND | |
# Run tests | |
COMMAND="bundle exec rspec spec" | |
echo -e "\033[34mRunning: $COMMAND\033[0m" | |
unbuffer docker-compose --project-name=${JOB_NAME} run web $COMMAND | |
# Run rubocop lint | |
COMMAND="bundle exec rubocop app spec -R --format simple" | |
echo -e "\033[34mRunning: $COMMAND\033[0m" | |
unbuffer docker-compose --project-name=${JOB_NAME} run -e RUBYOPT="-Ku" web $COMMAND |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment