...
redis_ip: new_private_ip_of_scihist_digicoll-database1-staging
postgres_ip: new_private_ip_of_scihist_digicoll-database1-staging
2. Build the
...
ansible-playbook create_kithe.yml --vault-password-file password_file.txt --private-key=~/.ssh/test.pem --extra-vars "role=solr tier=staging"
Then take the private IP of the resulting SOLR server from the EC2 console, and add it to
group_vars/kithe_staging
:
solr_ip: new_private_ip_of_scihist_digicoll-solr1-staging
...
jobs server
ansible-playbook create_kithe.yml --vault-password-file password_file.txt --private-key=~/.ssh/test.pem --extra-vars "role=jobs tier=staging"
...
3. Build the web server
ansible-playbook create_kithe.yml --vault-password-file password_file.txt --private-key=~/.ssh/test.pem --extra-vars "role=web tier=staging" --extra-vars "@group_vars/kithe_web_staging_override"
...
4. Associate the elastic IP with the new web server
Select "Elastic IPs"
Select "digicoll-staging"
Actions -> Associate address
Under the "Resource type", Choose "Instance".
Fill in the appropriate instance (the staging web server)
Check "Allow this Elastic IP address to be reassociated if already attached"
Click "Associate".
You should then see an instance IP under "Associated instance ID" in row digicoll-staging
...
5. Deploy to staging
cd /path/to/scihist_digicoll/
bundle exec cap staging deploy --trace
At this stage you should see an empty but functioning site at https://staging-digital.sciencehistory.org/, but with no data in it.
...
6. Sync data from production to staging
See Syncing scihist-digicoll production to staging for details.
...
7. Commit changes to the staging branch of Ansible
See Ansible development workflow for details.
...
8. Log in to the management server and run the stage_update.sh
script
See Management Server for details.