Installing development tools
Building thiss-js and related packages requires a working docker environment as the build/deploy process runs in a docker container.
Cloning repositories
Prepare your deploy environement.
git clone https://github.com/TheIdentitySelector/thiss-js git clone git@github.com:TheIdentitySelector/origin.thiss.io git clone git@github.com:seamlessaccess/origin-service
Beta deployment (use.thiss.io)
Frontend
To deploy <version> to beta (use.thiss.io)
# cd thiss-js && git pull # git checkout <version> # make clean # make BASE_URL='https://use.thiss.io/' COMPONENT_URL='https://use.thiss.io/cta/' MDQ_URL='https://md.thiss.io/entities/' PERSISTENCE_URL='https://use.thiss.io/ps/' SEARCH_URL='https://md.thiss.io/entities/' STORAGE_DOMAIN='use.this.io' LOGLEVEL='error' DEFAULT_CONTEXT='thiss.io' build_in_docker # rsync -avz --exclude .git --exclude CNAME --exclude README.md --delete dist/ ../origin.thiss.io/ # cd ../origin.thiss.io # git diff
The final "git diff" should show a set of differences against the currently deployed version. Now commit and push this version to origin.thiss.io:
# git add . # git commit -m "deploy <version>" # git push
Verification
Verify that the changes have taken effect - this may take a while depending on how quickly the CDN picks up the changes. Find out which changes should be tested, check with the developer team or technical lead Leif Johansson. In addition to that, it should be checked that the discovery service works by visiting https://use.thiss.io. It is good to do it in a private window of your browser in case your browser has cached the old version. Click on the 'Login' button and see that it is possible to choose different IDPs from there. Check that the persistent service works by going back and choosing different organizations. You should be able to see the list of ogranizations that you have chosen and be able to edit them as well. Check that these functions work.
Rollback
In order to rollback simply revert and push the previous version of the origin.thiss.io repo.
git revert <commit> git push
Backend
Deploying the backend components using standard cosmos-process for docker components in https://github.com/TheIdentitySelector/thiss-ops repository.
Verification
(...)
Rollback
Simply undo the changes and go back to old changes and commit them in thiss-ops repository.
Production deployment (service.seamlessaccess.org)
Frontend
Prepare your deploy environement. The current whitelist needs to be checked with the master list before each deploy. Note that use.thiss.io does not do whitelisting which means the WHITELIST variable is not set.
Whitelisting
It is important to set the WHITELIST environment variable to the comma-separated list of the current whitelisted domains before deploying. Ask Marina or Leif to verify the list.
To deploy <version> to production
# cd thiss-js && git pull # git checkout <version> # make clean # make BASE_URL='https://service.seamlessaccess.org/' COMPONENT_URL='https://service.seamlessaccess.org/cta/' MDQ_URL='https://md.seamlessaccess.org/entities/' PERSISTENCE_URL='https://service.seamlessaccess.org/ps/' SEARCH_URL='https://md.seamlessaccess.org/entities/' STORAGE_DOMAIN='service.seamlessaccess.org' LOGLEVEL='error' DEFAULT_CONTEXT='seamlessaccess.org' WHITELIST=$WHITELIST build_in_docker # rsync -avz --exclude .git --exclude CNAME --exclude README.md --delete dist/ ../origin-service/ # cd ../origin-service # git diff
The final "git diff" should show a set of differences against the currently deployed version. Now commit and push this version to origin-service:
# git add . # git commit -m "deploy <version>" # git push
Verification
Verify that the changes have taken effect - this may take a while depending on how quickly the CDN picks up the changes. Find out which changes should be tested, check with the developer team or technical lead Leif Johansson. In addition to that, it should be checked that the discovery service works as usual by trying to login to a service for example wiki.sunet.se. It is good to do it in a private window of your browser in case your browser has cached the old version.
Rollback
In order to rollback revert and push the previous version of the origin.thiss.io repo.
git revert <commit> git push
Backend
Deploying the backend components using standard cosmos-process for docker components in https://github.com/TheIdentitySelector/thiss-ops repository. (...)
Verification
(...)
Rollback
Simply undo the changes and go back to old changes and commit them in thiss-ops repository.