Container images are built automatically and pushed to the GHCR any time there is a push or PR to the main branch. Images are named according to the file path and tagged with the branch name. Use the image name in an Airflow DAG to create a job using the nr-permitting-pipelines container. See Airflow example here: permitting_pipeline_ats.py
Usage example:
docker pull ghcr.io/bcgov/nr-permitting-pipelines:main
Alternatively, there is this manual workflow:
Build locally:
docker build -t image-registry.apps.emerald.devops.gov.bc.ca/a1b9b0-dev/<pipeline name>:<tag> .
Push to OpenShift Image Registry:
oc registry login
docker push image-registry.apps.emerald.devops.gov.bc.ca/a1b9b0-dev/<pipeline name>:<tag>
Deploy to OpenShift. Note: Make sure to update the deployment name, env (config maps, secrets), & image SHA in the .yaml file.:
oc apply -f deployment.yaml
Note: If you add a new Dockerfile, a new GitHub Actions workflow needs to be created to publish the container to the GHCR.