MAAP-Project / maap-api-nasa

NASA Python implementation of the MAAP API specification
https://api.maap-project.org/api
Apache License 2.0
8 stars 3 forks source link

Develop github actions to deploy api to different environments #111

Closed sujen1412 closed 3 months ago

frankinspace commented 3 months ago

API is now being deployed to DIT environment via GH Action.

API settings are consolidated into a single environment secret called MAAP_API_SETTINGS_OVERRIDE. Follow on ticket will address this https://github.com/MAAP-Project/maap-api-nasa/issues/124

Every push to the develop branch will trigger an automated deployment to DIT. Recent deployments can be monitored at https://github.com/MAAP-Project/maap-api-nasa/deployments

Every push to the develop branch will tag a new 'alpha' release. Alpha number is incremented by 1 on every push. The alpha version will be used as the docker tag for the image in addition to an environment-specific tag (DIT in this case). Docker images and tags can be viewed at https://github.com/MAAP-Project/maap-api-nasa/pkgs/container/maap-api-nasa. Docker images are also pushed to GitLab, discussion to remove this is tracked in https://github.com/MAAP-Project/maap-api-nasa/issues/125

Deployments are achieved by using an organization level self-hosted runner which is running in the deployment environment. docker-compose is used to restart the service. It would be preferable to deploy via terraform without a need for self-hosted runner. This is tracked in https://github.com/MAAP-Project/maap-api-nasa/issues/126