Skip to content
s.heiss edited this page May 25, 2020 · 2 revisions

Repos and Builds

Right now we have two main builds: UI(click) and Backend (click) the other builds can be ignored for now. Repos are: website backend: https://github.com/modmoto/w3champions-statistic-service website UI: https://github.com/modmoto/w3champions-ui

Pads Stuff: https://github.com/padjon/w3champions-launcher https://github.com/padjon/w3champions-client

Pipelines

The checkin for master is disabled and we only merge to master via pull requests. If you make a PR, the solution is built and tested and will be deployed to a testing stage for your PR. (Note: this is NOT Test). We managed to make the PR deploy to a port of http://176.28.16.249/ so every PR gets a mostly isolated test environment. The port is always calculated by the PR number moduolo 100. So if your pr has the ID 175, your PR will be deployed on http://176.28.16.249:10075/ . The Base URL For the UI is http://176.28.16.249:10000/ and for the bakend http://176.28.16.249:10200/.

Testing

Testing is done in the builds and the integration test db is used for that (mongodb://176.28.16.249:3512/). Before every test the whole db is wiped that is why the dbs always looks kind of empty. We did this, so you do not need to have mongodb installed locally to test. The downfall is of course, if you run the tests locally and a build is running in parallel, the tests will mos likely fail, as you use a common db. As of now, this happened rarely to make an effort to change this. The deployed backend of the PRs uses a separate db (mongodb://176.28.16.249:3513/). This db contains a more or less old copy of prod and can be used freely to test new models or controllers. The Test DB (mongodb://176.28.16.249:3510/ secured by a PW) is the db that https://www.test.w3champions.com/ operates on. It is also ok to test here, but be beware that you might break functionality for other developers, if you kill the test db. Restoring it takes some time, at it is a roughly 60 minutes copy from prod. But no one will throw you out of the team if you do that. Just be mindfull ;)

Rollout

Rollouts to test are automatically triggered, if a build on master suceed. If you want to roll to prod, you have to trigger this manually in a release. e.g. https://dev.azure.com/w3champions/w3champions/_releaseProgress?_a=release-pipeline-progress&releaseId=848 In this case we did not deploy to prod (indicated by the grey prod box) If we wanted to, we would click the "Deploy" Button below the grey PROD box. If you want to roll back, just select an older release and press the "Redeploy" Button below the stage you want to release to. We recommend asking someone before, that has worked on the project a little longer, if you do that. Just to be safe ;)

Clone this wiki locally