Use Cloud Native Buildpacks by default in Auto Build

Merged Hordur Freyr Yngvason requested to merge use-cloud-native-buildpacks-by-default into master

What does this MR do?

Auto Build Image now defaults to Cloud Native Buildpacks instead of Herokuish when no Dockerfile is present. Users depending on the /bin/herokuish binary provided by Herokuish should either change their deployments to use /cnb/lifecycle/launcher instead of /bin/herokuish procfile exec, or opt-out of using Cloud Native Buildpacks, by setting the CI variable AUTO_BUILD_IMAGE_CNB_ENABLED to false.

Manual QA

A full pipeline from an example project using the following CI YAML with the latest Rails project template:

include:
  - template: Auto-DevOps.gitlab-ci.yml

variables:
  DB_INITIALIZE: RAILS_ENV=production /cnb/lifecycle/launcher bin/rails db:setup
  DB_MIGRATE: RAILS_ENV=production /cnb/lifecycle/launcher bin/rails db:migrate

build:
  image: registry.gitlab.com/gitlab-org/cluster-integration/auto-build-image:v1.0.0

Screenshots (strongly suggested)

Demonstrates the above rails app with a custom worker launched via /cnb/lifecycle/launcher:

Screenshot_2021-06-08_at_17.56.11

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Edited by Hordur Freyr Yngvason