Skip to content

Commit

Permalink
Vagrant build improvements:
Browse files Browse the repository at this point in the history
* Miminize TeXLive package list to save time during VM builds.
* General cleanup and added timestamps.
* Pin to specific box version.
  • Loading branch information
dwsteele committed Oct 3, 2016
1 parent 07898d3 commit 6f34fbc
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 6 deletions.
4 changes: 4 additions & 0 deletions doc/xml/release.xml
Expand Up @@ -184,6 +184,10 @@
<release-item>
<p>Regression tests can now be run as any properly-configured user, not just vagrant.</p>
</release-item>

<release-item>
<p>Miminize TeXLive package list to save time during VM builds.</p>
</release-item>
</release-refactor-list>
</release-test-list>
</release>
Expand Down
27 changes: 21 additions & 6 deletions test/Vagrantfile
Expand Up @@ -5,18 +5,25 @@ Vagrant.configure(2) do |config|
end

config.vm.box = "bento/ubuntu-16.04"
config.vm.box_version = "2.2.9";

config.vm.provider :virtualbox do |vb|
vb.name = "backrest-test"
vb.name = "pgbackrest-test"
end

# Provision the VM
config.vm.provision "shell", inline: <<-SHELL
echo 'Build Begin' && date
# Suppress "dpkg-reconfigure: unable to re-open stdin: No file or directory" warning
export DEBIAN_FRONTEND=noninteractive
# Install Docker
# Update Apt
echo 'Update Apt' && date
apt-get update
# Install Docker
echo 'Install Docker' && date
apt-get install -y apt-transport-https ca-certificates
apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
echo 'deb https://apt.dockerproject.org/repo ubuntu-xenial main' > /etc/apt/sources.list.d/docker.list
Expand All @@ -27,26 +34,34 @@ Vagrant.configure(2) do |config|
sudo usermod -aG docker vagrant
# Install Perl modules
echo 'Install Perl Modules' && date
apt-get install -y libdbd-pg-perl libxml-checker-perl libperl-critic-perl
# Install additional modules
# Install utilities
echo 'Install Utilities' && date
apt-get install -y vim htop
# Install Texlive
apt-get install -y texlive
apt-get install -y --no-install-recommends texlive-latex-extra
# Install TeX Live
echo 'Install TeX Live' && date
apt-get install -y --no-install-recommends texlive-latex-base texlive-latex-extra texlive-fonts-recommended
apt-get install -y texlive-font-utils
# Create backrest user and postgres group
echo 'Create Postgres Group & pgBackRest User' && date
groupadd -g5000 postgres
adduser --uid=5001 --ingroup=postgres --disabled-password --gecos "" backrest
# Make postgres the primary group for vagrant user (and preserve vagrant group)
echo 'Add Vagrant User to Postgres Group' && date
usermod -g postgres vagrant
usermod -a -G vagrant vagrant
# Build VM images
echo 'Build VM Images' && date
rm -f /backrest/test/.vagrant/docker/*
sudo su - vagrant -c '/backrest/test/test.pl --vm-build'
echo 'Build End' && date
SHELL

# Don't share the default vagrant folder
Expand Down

0 comments on commit 6f34fbc

Please sign in to comment.