Open justb4 opened 3 years ago
To add, we apply this (remote deployment via GH Actions calling Ansible) for the Geonovum OGC API testbed: for example: https://github.com/Geonovum/ogc-api-testbed/blob/main/.github/workflows/deploy.pygeoapi.yml . We can take some ideas from there.
This is a duplicate of #36, will merge/close that one.
Some info From #36, may be redundant:
The current setup to maintain and deploy the various services is semi-automated: Ansible is used, but with full GitOps, coupling GitHub, GH Workflows with Ansible, we get several advantages:
pygeoapi
Docker builds are moved to GH Workflows, will be easier to integrate (now HTTP-callback from DockerHub)As example of a fully fledged GitOps pygeoapi
deployment the Geonovum OGC API Testbed project can serve as example:
Changes to the pygeoapi GitHub repo are automatically propagated via DockerHub and a DockerHub listener here.
But changes to the
demo.pygeoapi.io
repo like config or data changes here are not auto-deployed. Manual action via Ansible is required like:ansible-playbook -vv deploy.yml -i hosts/demo.pygeoapi.io --tags update,pygeoapi_master
etcAlso one needs SSH access.
To have full CI deployment GitHub Actions need to be developed such that anyone with commit rights to the demo repo here can redeploy a service.
Hint: there are quite some GH Actions Ansible modules available, the commands are simple enough, SSH-keying may be the biggest challenge, docs: