Skip to content

Updating the Dev & Prod servers

Jens Luebeck edited this page Nov 11, 2026 · 5 revisions

For testing and prerelease purposes, we have a dev/beta test version of amplicon repository available at the url https://dev.ampliconrepository.org.

This runs inside a container on the same server as the production site to minimize costs. Because it requires AWS permissions to access the server, administration of the server is restricted to members of the UCSD "ucsd-cse-ampliconrepository-admin" group who all by default have access to the AWS console through UCSD SSO. This means that the intern developers may not update this server themselves.

Create a new release on GitHub

  1. Click on the releases page https://github.com/AmpliconSuite/AmpliconRepository/releases
  2. select “draft a new release button”
  3. make a new tag, ends with the date e.g. 2.16.3_042926 was made on April 29, 2026
  4. Title same as tag
  5. Autogenerate release notes. As long as you used PRs to make changes this should be sufficient
  6. publish release

Take the operator lock before changing either server, and release it when you're done. The full steps are in Creating a new release for AmpRepo.

Updating the dev / prod server if there is only code change

  1. SSH into the server, either the dev.ampliconrepository.org / ampliconrepository.org server.
    • you can get the IP of the machines on the AWS console
  2. cd ~/AmpliconRepository-dev (or -prod if you're on the production machine).
  3. git pull, git fetch -- obtain the latest changes.
  4. checkout the latest using the tag you made e.g. “git checkout v2.16.3_042926”
  5. Restart with “~/stop-and-start-repo.sh”

Updating the dev / prod server if there is a dependency change (requirements.txt)

  1. cd ampRepo_for_docker_build/AmpliconRepository/
  2. “git fetch”
  3. checkout the latest using the tag you made “git checkout v2.16.3_042926”
  4. build the container using a different tag so the old container is not destroyed unless the build works “ docker build -t genepattern/amplicon-repo:prod1 .”
  5. Assuming the build worked proceed, otherwise debug until it does
  6. docker stop amplicon-prod
  7. remove the old container “docker rm amplicon-prod”
  8. reset the tag to the latest “ docker build -t genepattern/amplicon-repo:prod .”
  9. cd ~/AmpliconRepository_prod
  10. get the latest code “git fetch”
  11. checkout the latest using the tag you made “git checkout v2.16.3_042926”
  12. Create the new container instance “scripts/deploy/start-server.sh” (it was ./start-server.sh before the move to scripts/)
  13. proceed to testing

Clone this wiki locally