mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2025-01-30 05:39:12 +02:00
de7fc37f88
Refactor storage layer to allow for new repository filesystems using drivers. (Reviewed by Cynthia Shang.) Refactor IO layer to allow for new compression formats, checksum types, and other capabilities using filters. (Reviewed by Cynthia Shang.)
96 lines
4.6 KiB
Ruby
96 lines
4.6 KiB
Ruby
Vagrant.configure(2) do |config|
|
|
config.vm.provider :virtualbox do |vb|
|
|
vb.memory = 2048
|
|
vb.cpus = 8
|
|
end
|
|
|
|
config.vm.box = "ubuntu/xenial64"
|
|
config.vm.box_version = "20170603.0.0"
|
|
|
|
# vagrant plugin install vagrant-disksize
|
|
# config.disksize.size = '64GB'
|
|
|
|
config.vm.provider :virtualbox do |vb|
|
|
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
|
|
|
|
# Assign a host name
|
|
sed -i 's/^127\.0\.0\.1\t.*/127\.0\.0\.1\tlocalhost pgbackrest-test/' /etc/hosts
|
|
hostnamectl set-hostname pgbackrest-test
|
|
|
|
#---------------------------------------------------------------------------------------------------------------------------
|
|
echo 'Update Apt' && date
|
|
apt-get update
|
|
|
|
#---------------------------------------------------------------------------------------------------------------------------
|
|
echo 'Synchronize Date' && date
|
|
apt-get install -y ntpdate
|
|
ntpdate pool.ntp.org
|
|
|
|
#---------------------------------------------------------------------------------------------------------------------------
|
|
echo 'Install Perl Modules' && date
|
|
apt-get install -y libdbd-pg-perl libxml-checker-perl libperl-critic-perl libdevel-nytprof-perl
|
|
|
|
#---------------------------------------------------------------------------------------------------------------------------
|
|
echo 'Install Build Tools' && date
|
|
apt-get install -y devscripts build-essential lintian git txt2man debhelper
|
|
|
|
#---------------------------------------------------------------------------------------------------------------------------
|
|
echo 'Build Devel::Cover' && date
|
|
apt-get install -y libpod-coverage-perl libtest-differences-perl libhtml-parser-perl libtemplate-perl
|
|
git clone --branch debian/1.23-2 \
|
|
https://anonscm.debian.org/git/pkg-perl/packages/libdevel-cover-perl.git /root/libdevel-cover-perl
|
|
cd /root/libdevel-cover-perl && debuild --no-lintian -i -us -uc -b > /dev/null
|
|
dpkg -i /root/libdevel-cover-perl_1.23-2_amd64.deb
|
|
|
|
#---------------------------------------------------------------------------------------------------------------------------
|
|
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
|
|
apt-get update
|
|
apt-get install -y linux-image-extra-$(uname -r)
|
|
apt-get install -y docker-engine
|
|
service docker start
|
|
sudo usermod -aG docker ubuntu
|
|
|
|
#---------------------------------------------------------------------------------------------------------------------------
|
|
echo 'Install Dev Utilities' && date
|
|
apt-get install -y vim htop
|
|
|
|
#---------------------------------------------------------------------------------------------------------------------------
|
|
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
|
|
|
|
#---------------------------------------------------------------------------------------------------------------------------
|
|
echo 'Create Postgres Group & pgBackRest User' && date
|
|
groupadd -g5000 postgres
|
|
adduser --uid=5001 --ingroup=ubuntu --disabled-password --gecos "" backrest
|
|
|
|
#---------------------------------------------------------------------------------------------------------------------------
|
|
echo 'Build VM Images' && date
|
|
rm -rf /backrest/test/.vagrant/docker/*
|
|
rm -rf /backrest/test/.vagrant/libc/*
|
|
rm -rf /backrest/test/.vagrant/package/*
|
|
sudo su - ubuntu -c '/backrest/test/test.pl --vm-build'
|
|
|
|
#---------------------------------------------------------------------------------------------------------------------------
|
|
echo 'Build End' && date
|
|
SHELL
|
|
|
|
# Don't share the default vagrant folder
|
|
config.vm.synced_folder ".", "/vagrant", disabled: true
|
|
|
|
# Mount backrest path for testing
|
|
config.vm.synced_folder "..", "/backrest"
|
|
end
|