Speed-up docker based builds
Enable to: - Use APT cache - Use Bundler cache - Use PhantomJS cache
This commit is contained in:
parent
0e51ca7c48
commit
edf93ecb6e
|
@ -9,7 +9,7 @@ variables:
|
||||||
MYSQL_ALLOW_EMPTY_PASSWORD: "1"
|
MYSQL_ALLOW_EMPTY_PASSWORD: "1"
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- ./scripts/prepare_build.sh
|
- source ./scripts/prepare_build.sh
|
||||||
- ruby -v
|
- ruby -v
|
||||||
- which ruby
|
- which ruby
|
||||||
- gem install bundler --no-ri --no-rdoc
|
- gem install bundler --no-ri --no-rdoc
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
if [ -f /.dockerinit ]; then
|
|
||||||
export FLAGS=(--deployment --path /cache)
|
|
||||||
|
|
||||||
apt-get update -qq
|
|
||||||
apt-get install -y -qq nodejs
|
|
||||||
|
|
||||||
wget -q http://ftp.de.debian.org/debian/pool/main/p/phantomjs/phantomjs_1.9.0-1+b1_amd64.deb
|
|
||||||
dpkg -i phantomjs_1.9.0-1+b1_amd64.deb
|
|
||||||
|
|
||||||
cp config/database.yml.mysql config/database.yml
|
|
||||||
sed -i "s/username:.*/username: root/g" config/database.yml
|
|
||||||
sed -i "s/password:.*/password:/g" config/database.yml
|
|
||||||
sed -i "s/# socket:.*/host: mysql/g" config/database.yml
|
|
||||||
else
|
|
||||||
export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin
|
|
||||||
|
|
||||||
cp config/database.yml.mysql config/database.yml
|
|
||||||
sed -i "s/username\:.*$/username\: runner/" config/database.yml
|
|
||||||
sed -i "s/password\:.*$/password\: 'password'/" config/database.yml
|
|
||||||
sed -i "s/gitlab_ci_test/gitlab_ci_test_$((RANDOM/5000))/" config/database.yml
|
|
||||||
fi
|
|
|
@ -1,10 +1,16 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if [ -f /.dockerinit ]; then
|
if [ -f /.dockerinit ]; then
|
||||||
wget -q https://gitlab.com/axil/phantomjs-debian/raw/master/phantomjs_1.9.8-0jessie_amd64.deb
|
# Docker runners use `/cache` folder which is persisted every build
|
||||||
dpkg -i phantomjs_1.9.8-0jessie_amd64.deb
|
if [ ! -e /cache/phantomjs_1.9.8-0jessie_amd64.deb ]; then
|
||||||
|
wget -q https://gitlab.com/axil/phantomjs-debian/raw/master/phantomjs_1.9.8-0jessie_amd64.deb
|
||||||
|
mv phantomjs_1.9.8-0jessie_amd64.deb /cache
|
||||||
|
fi
|
||||||
|
dpkg -i /cache/phantomjs_1.9.8-0jessie_amd64.deb
|
||||||
|
|
||||||
apt-get update -qq
|
apt-get update -qq
|
||||||
apt-get install -y -qq libicu-dev libkrb5-dev cmake nodejs postgresql-client mysql-client
|
apt-get -o dir::cache::archives="/cache/apt" install -y -qq \
|
||||||
|
libicu-dev libkrb5-dev cmake nodejs postgresql-client mysql-client
|
||||||
|
|
||||||
cp config/database.yml.mysql config/database.yml
|
cp config/database.yml.mysql config/database.yml
|
||||||
sed -i 's/username:.*/username: root/g' config/database.yml
|
sed -i 's/username:.*/username: root/g' config/database.yml
|
||||||
|
@ -13,8 +19,8 @@ if [ -f /.dockerinit ]; then
|
||||||
|
|
||||||
cp config/resque.yml.example config/resque.yml
|
cp config/resque.yml.example config/resque.yml
|
||||||
sed -i 's/localhost/redis/g' config/resque.yml
|
sed -i 's/localhost/redis/g' config/resque.yml
|
||||||
FLAGS=(--deployment --path /cache)
|
|
||||||
export FLAGS
|
export FLAGS=(--path /cache)
|
||||||
else
|
else
|
||||||
export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin
|
export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin
|
||||||
cp config/database.yml.mysql config/database.yml
|
cp config/database.yml.mysql config/database.yml
|
||||||
|
|
Loading…
Reference in New Issue