-
Notifications
You must be signed in to change notification settings - Fork 18
Devops Guide
mohammadranjbarz edited this page Mar 23, 2022
·
3 revisions
- DB: Postgres (Hosted on Digital ocean), Redis( Runned by docker )
- App
- Language: Typescript (Nodejs v14)
- API: Graphql
- Framework: Apollo Graphql
- ORM:Typeorm
- Test tools: Mocha, chai ( We have both unit tests and integrations tests)
- Admin panel: We use Admin Bro library
- Deployment : Docker/Docker-compose
- Tool: Github Actions
- Flows
- The tests will run in every job
- We have publish/deploy jobs on
master
(production ENV),staging
(Staging ENV),develop
(Develop ENV) - We build a docker image from our Dockerfile
- We publish it to github registery https://github.com/Giveth/impact-graph/blob/c64f04e8bafcc1d21d7c215c35b67a236086b2eb/.github/workflows/CI-CD.yml#L54
- We connect to our server by SSH
- Pull latest docker image of our app
- Stop current running docker-compose
- Start docker-compose
- You can see previous job here
- Docker-composes
- Backend Addresses
- Production: https://mainnet.serve.giveth.io/graphql (We disabled aplollo playground in production for security concerns)
- Staging: https://serve.giveth.io/graphql
- Develop: https://develop.serve.giveth.io/graphql
- Tool: Nginx
PS /admin
is for accessing to Admin panel so it's just accessible if you are connected to our VPN