rkbadatya / quick-start

Micronaut Quick -start Application

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Micronaut 2.5.5 Documentation


Push To Docker Registry Workflow

Workflow file: .github/workflows/maven.yml

Workflow description

For pushes to the master branch, the workflow will:

  1. Setup the build environment with respect to the selected java/graalvm version.
  2. Login to docker registry based on provided configuration.
  3. Build, tag and push Docker image with Micronaut application to the Docker container image.

Dependencies on other GitHub Actions

  • Docker login(docker/login)
  • Setup GraalVM(DeLaGuardo/setup-graalvm)

Setup

Add the following GitHub secrets:

Name Description
DOCKER_USERNAME Username for Docker registry authentication.
DOCKER_PASSWORD Docker registry password.
DOCKER_REPOSITORY_PATH Path to the docker image repository inside the registry, e.g. for the image foo/bar/micronaut:0.1 it is foo/bar.
DOCKER_REGISTRY_URL Docker registry url.

Configuration examples

Specifics on how to configure public cloud docker registries like DockerHub, Google Container Registry (GCR), AWS Container Registry (ECR), Oracle Cloud Infrastructure Registry (OCIR) and many more can be found in docker/login-action documentation.

DockerHub

  • DOCKER_USERNAME - DockerHub username
  • DOCKER_PASSWORD - DockerHub password or personal access token
  • DOCKER_REPOSITORY_PATH - DockerHub organization or the username in case of personal registry
  • DOCKER_REGISTRY_URL - No need to configure for DockerHub

See docker/login-action for GCR

Google Container Registry (GCR)

Create service account with permission to edit GCR or use predefined Storage Admin role.

  • DOCKER_USERNAME - set exactly to _json_key
  • DOCKER_PASSWORD - content of the service account json key file
  • DOCKER_REPOSITORY_PATH - <project-id>/foo
  • DOCKER_REGISTRY_URL - gcr.io

See docker/login-action for GCR

AWS Elastic Container Registry (ECR)

Create IAM user with permission to push to ECR (or use AmazonEC2ContainerRegistryFullAccess role).

  • DOCKER_USERNAME - access key ID
  • DOCKER_PASSWORD - secret access key
  • DOCKER_REPOSITORY_PATH - no need to set
  • DOCKER_REGISTRY_URL - set to <aws-account-number>.dkr.ecr.<region>.amazonaws.com

See docker/login-action for ECR

Oracle Infrastructure Cloud Registry (OCIR)

Create auth token for authentication.

  • DOCKER_USERNAME - username in format <tenancy>/<username>
  • DOCKER_PASSWORD - account auth token
  • DOCKER_REPOSITORY_PATH - <tenancy>/<registry>/foo
  • DOCKER_REGISTRY_URL - set to <region>.ocir.io

See docker/login-action for OCIR

Push GraalVM Native Image To Docker Registry Workflow

Workflow file: .github/workflows/graalvm.yml

Workflow description

For pushes to the master branch, the workflow will:

  1. Setup the build environment with respect to the selected java/graalvm version.
  2. Login to docker registry based on provided configuration.
  3. Build, tag and push Docker image with Micronaut application to the Docker container image.

Dependencies on other GitHub Actions

  • Docker login(docker/login)
  • Setup GraalVM(DeLaGuardo/setup-graalvm)

Setup

Add the following GitHub secrets:

Name Description
DOCKER_USERNAME Username for Docker registry authentication.
DOCKER_PASSWORD Docker registry password.
DOCKER_REPOSITORY_PATH Path to the docker image repository inside the registry, e.g. for the image foo/bar/micronaut:0.1 it is foo/bar.
DOCKER_REGISTRY_URL Docker registry url.

Configuration examples

Specifics on how to configure public cloud docker registries like DockerHub, Google Container Registry (GCR), AWS Container Registry (ECR), Oracle Cloud Infrastructure Registry (OCIR) and many more can be found in docker/login-action documentation.

DockerHub

  • DOCKER_USERNAME - DockerHub username
  • DOCKER_PASSWORD - DockerHub password or personal access token
  • DOCKER_REPOSITORY_PATH - DockerHub organization or the username in case of personal registry
  • DOCKER_REGISTRY_URL - No need to configure for DockerHub

See docker/login-action for GCR

Google Container Registry (GCR)

Create service account with permission to edit GCR or use predefined Storage Admin role.

  • DOCKER_USERNAME - set exactly to _json_key
  • DOCKER_PASSWORD - content of the service account json key file
  • DOCKER_REPOSITORY_PATH - <project-id>/foo
  • DOCKER_REGISTRY_URL - gcr.io

See docker/login-action for GCR

AWS Elastic Container Registry (ECR)

Create IAM user with permission to push to ECR (or use AmazonEC2ContainerRegistryFullAccess role).

  • DOCKER_USERNAME - access key ID
  • DOCKER_PASSWORD - secret access key
  • DOCKER_REPOSITORY_PATH - no need to set
  • DOCKER_REGISTRY_URL - set to <aws-account-number>.dkr.ecr.<region>.amazonaws.com

See docker/login-action for ECR

Oracle Infrastructure Cloud Registry (OCIR)

Create auth token for authentication.

  • DOCKER_USERNAME - username in format <tenancy>/<username>
  • DOCKER_PASSWORD - account auth token
  • DOCKER_REPOSITORY_PATH - <tenancy>/<registry>/foo
  • DOCKER_REGISTRY_URL - set to <region>.ocir.io

See docker/login-action for OCIR

Feature github-workflow-docker-registry documentation

Feature jdbc-hikari documentation

Feature assertj documentation

Feature http-client documentation

Feature views-thymeleaf documentation

Feature jax-rs documentation

Feature spring documentation

Feature dekorate-prometheus documentation

Feature github-workflow-graal-docker-registry documentation

Feature kubernetes documentation

Feature openapi documentation

Feature hibernate-validator documentation

Feature management documentation

Feature cache-ehcache documentation

Feature jmx documentation

Feature dekorate-kubernetes documentation

Feature dekorate-jaeger documentation

Feature hibernate-jpa documentation

Feature mockito documentation

About

Micronaut Quick -start Application


Languages

Language:Batchfile 80.7%Language:Kotlin 19.3%