Merge pull request #247 from tomalrussell/feature/reproducible_env

Feature/reproducible env
This commit is contained in:
Tom Russell 2019-05-27 15:34:08 +01:00 committed by GitHub
commit e9b4c0f211
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 15 deletions

32
Vagrantfile vendored
View File

@ -17,22 +17,30 @@ Vagrant.configure("2") do |config|
# Create a forwarded port mapping which allows access to a specific port # Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine and only allow access # within the machine from a port on the host machine and only allow access
# via 127.0.0.1 to disable public access # via 127.0.0.1 to disable public access
# dev node process
config.vm.network "forwarded_port", guest: 3000, host: 3000, host_ip: "127.0.0.1" config.vm.network "forwarded_port", guest: 3000, host: 3000, host_ip: "127.0.0.1"
# dev (node helper process)
config.vm.network "forwarded_port", guest: 3001, host: 3001, host_ip: "127.0.0.1"
# Postgres
config.vm.network "forwarded_port", guest: 5432, host: 6543, host_ip: "127.0.0.1"
# Provider-specific configuration so you can fine-tune various # Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options. # backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
# # Using VirtualBox:
# config.vm.provider "virtualbox" do |vb| config.vm.provider :virtualbox do |vm|
# # Display the VirtualBox GUI when booting the machine # # Display the VirtualBox GUI when booting the machine
# vb.gui = true # vb.gui = true
#
# # Customize the amount of memory on the VM: # # Customize the amount of memory on the VM:
# vb.memory = "1024" # vb.memory = "1024"
# end
# # Enable creating symlinks in shared folder
# View the documentation for the provider you are using for more # On a Windows host, vagrant will need to run with permissions to 'Create Symlinks', either
# information on available options. # set for the current user in the Local Security Policy, or run from a shell with
# Administrative rights.
vm.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant", "1"]
end
# Enable provisioning with a shell script. Additional provisioners such as # Enable provisioning with a shell script. Additional provisioners such as
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the

View File

@ -73,7 +73,7 @@ service postgresql start
# Ensure en_US locale exists # Ensure en_US locale exists
locale-gen en_US.UTF-8 locale-gen en_US.UTF-8
# Database config to listen on network connection # Database config to listen on network connection
sed -i "s/#\?listen_address.*/listen_addresses '*'/" /etc/postgresql/9.5/main/postgresql.conf sed -i "s/#\?listen_address.*/listen_addresses '*'/" /etc/postgresql/10/main/postgresql.conf
# Allow password connections from any IP (so includes host) # Allow password connections from any IP (so includes host)
echo "host all all all md5" >> /etc/postgresql/10/main/pg_hba.conf echo "host all all all md5" >> /etc/postgresql/10/main/pg_hba.conf
# Restart postgres to pick up config changes # Restart postgres to pick up config changes
@ -86,8 +86,14 @@ su postgres -c "psql -c \"SELECT 1 FROM pg_user WHERE usename = 'vagrant';\" " \
su postgres -c "psql -c \"SELECT 1 FROM pg_database WHERE datname = 'vagrant';\" " \ su postgres -c "psql -c \"SELECT 1 FROM pg_database WHERE datname = 'vagrant';\" " \
| grep -q 1 || su postgres -c "createdb -E UTF8 -T template0 --locale=en_US.utf8 -O vagrant vagrant" | grep -q 1 || su postgres -c "createdb -E UTF8 -T template0 --locale=en_US.utf8 -O vagrant vagrant"
# Create extensions
su vagrant -c "psql -c \"create extension postgis;\" "
su vagrant -c "psql -c \"create extension pgcrypto;\" "
su vagrant -c "psql -c \"create extension pg_trgm;\" "
# Run all 'up' migrations to create tables, data types, indexes # Run all 'up' migrations to create tables, data types, indexes
su postgres -c "ls /vagrant/migrations/*.up.sql 2>/dev/null | while read -r migration; do psql < $migration; done;" su vagrant -c "ls /vagrant/migrations/*.up.sql 2>/dev/null | while read -r migration; do psql < \$migration; done;"
# #
@ -115,7 +121,7 @@ chown -R vagrant:vagrant /home/vagrant/colouringlondon
npm install -g npm@next npm install -g npm@next
# Local fixed install of node modules # Local fixed install of node modules
cd /vagrant/app && npm ci cd /vagrant/app && npm install
# #