Bird
Raised Fist0
GCPcloud~5 mins

Artifact Registry creation in GCP - Commands & Configuration

Choose your learning style10 modes available
Introduction
When you build software, you create files called artifacts like container images or packages. Artifact Registry is a place in Google Cloud where you can store and manage these files safely and access them when needed.
When you want to store container images for your applications in a secure Google Cloud location.
When you need a central place to keep your software packages for easy sharing among your team.
When you want to control who can access your build artifacts with Google Cloud permissions.
When you want to organize your artifacts by project and region for better management.
When you want to use Google Cloud tools to scan your artifacts for security issues.
Config File - artifact-registry-config.yaml
artifact-registry-config.yaml
apiVersion: artifactregistry.cnrm.cloud.google.com/v1beta1
kind: ArtifactRegistryRepository
metadata:
  name: example-repo
  namespace: default
spec:
  format: DOCKER
  location: us-central1
  description: "Docker repository for example app images"
  repositoryId: example-repo

This file defines an Artifact Registry repository named example-repo in the us-central1 region. It stores Docker container images. The format key tells Google Cloud what kind of artifacts this repository holds. The description helps identify the repository purpose.

Commands
This command creates a new Artifact Registry repository named 'example-repo' in the 'us-central1' region to store Docker images. The description helps identify the repository.
Terminal
gcloud artifacts repositories create example-repo --repository-format=docker --location=us-central1 --description="Docker repository for example app images"
Expected OutputExpected
Created repository [example-repo] in location [us-central1].
→
--repository-format - Specifies the type of artifacts stored, here Docker images.
→
--location - Sets the geographic location for the repository.
→
--description - Adds a human-readable description for the repository.
This command lists all Artifact Registry repositories in the 'us-central1' region to verify that the repository was created successfully.
Terminal
gcloud artifacts repositories list --location=us-central1
Expected OutputExpected
NAME FORMAT LOCATION DESCRIPTION example-repo DOCKER us-central1 Docker repository for example app images
→
--location - Filters the list to repositories in the specified region.
This command shows detailed information about the 'example-repo' repository, confirming its settings and status.
Terminal
gcloud artifacts repositories describe example-repo --location=us-central1
Expected OutputExpected
name: projects/PROJECT_ID/locations/us-central1/repositories/example-repo format: DOCKER description: Docker repository for example app images location: us-central1 createTime: '2024-06-01T12:00:00Z' updateTime: '2024-06-01T12:00:00Z'
→
--location - Specifies the region of the repository.
Key Concept

If you remember nothing else from this pattern, remember: Artifact Registry is your secure Google Cloud storage for software files like container images, created and managed by simple gcloud commands.

Common Mistakes
Not specifying the --location flag when creating or listing repositories.
Artifact Registry repositories are regional, so omitting the location causes errors or lists repositories in the wrong region.
Always include the --location flag with the correct region when running gcloud artifact registry commands.
Using an unsupported repository format like 'docker' spelled incorrectly or unsupported types.
The command fails because the format must be one of the supported types like DOCKER, MAVEN, NPM, etc., and is case-sensitive.
Use the exact supported format names in uppercase, for example, DOCKER.
Summary
Use 'gcloud artifacts repositories create' with --repository-format and --location to make a new Artifact Registry repository.
Check your repository exists with 'gcloud artifacts repositories list' filtered by location.
Get detailed info about your repository with 'gcloud artifacts repositories describe' and the location flag.

Practice

(1/5)
1. What is the main purpose of creating an Artifact Registry in Google Cloud?
easy
A. To host virtual machines
B. To securely store and manage software packages
C. To monitor network traffic
D. To create databases

Solution

  1. Step 1: Understand Artifact Registry purpose

    Artifact Registry is designed to store and manage software packages securely.
  2. Step 2: Compare options with purpose

    Options B, C, and D relate to other services like Compute Engine, VPC, and Cloud SQL, not Artifact Registry.
  3. Final Answer:

    To securely store and manage software packages -> Option B
  4. Quick Check:

    Artifact Registry = Secure package storage [OK]
Hint: Artifact Registry = package storage, not VMs or databases [OK]
Common Mistakes:
  • Confusing Artifact Registry with Compute Engine
  • Thinking it manages databases
  • Assuming it monitors network traffic
2. Which of the following is the correct command syntax to create an Artifact Registry repository with Docker format in region us-central1?
easy
A. gcloud artifacts repositories create my-repo --repository-format=docker --location=us-central1
B. gcloud artifacts create repository my-repo --format=docker --region=us-central1
C. gcloud create artifacts repository my-repo --format=docker --location=us-central1
D. gcloud artifacts repositories new my-repo --repository-format=docker --location=us-central1

Solution

  1. Step 1: Recall correct gcloud command structure

    The correct command is 'gcloud artifacts repositories create' followed by repository name and flags '--repository-format' and '--location'.
  2. Step 2: Match options with correct syntax

    gcloud artifacts repositories create my-repo --repository-format=docker --location=us-central1 matches the correct syntax exactly. Other options have wrong order or wrong flags.
  3. Final Answer:

    gcloud artifacts repositories create my-repo --repository-format=docker --location=us-central1 -> Option A
  4. Quick Check:

    Correct command syntax = gcloud artifacts repositories create my-repo --repository-format=docker --location=us-central1 [OK]
Hint: Use 'gcloud artifacts repositories create' with format and location [OK]
Common Mistakes:
  • Using 'create' before 'artifacts repositories'
  • Mixing up --region and --location flags
  • Incorrect flag names like --format instead of --repository-format
3. What will be the result of running this command?
gcloud artifacts repositories create test-repo --repository-format=maven --location=us-east1
medium
A. Creates a Docker format repository ignoring the format flag
B. Fails because 'maven' is not a valid repository format
C. Creates a Maven format Artifact Registry repository in us-east1 region
D. Creates a repository but defaults location to global

Solution

  1. Step 1: Check repository format validity

    'maven' is a valid repository format supported by Artifact Registry.
  2. Step 2: Check location flag effect

    Specifying '--location=us-east1' sets the repository region correctly.
  3. Final Answer:

    Creates a Maven format Artifact Registry repository in us-east1 region -> Option C
  4. Quick Check:

    Valid format and location = Creates a Maven format Artifact Registry repository in us-east1 region [OK]
Hint: Supported formats include maven, docker, npm, etc. [OK]
Common Mistakes:
  • Assuming 'maven' is invalid format
  • Thinking location defaults to global if specified
  • Believing format flag is ignored
4. You run this command but get an error:
gcloud artifacts repositories create my-repo --repository-format=pip --location=us-west1

What is the likely cause?
medium
A. Missing project flag in the command
B. The location 'us-west1' is invalid
C. Repository name 'my-repo' is invalid
D. The repository format 'pip' is not supported

Solution

  1. Step 1: Verify supported repository formats

    Artifact Registry does not support 'pip' as a repository format; common formats are docker, maven, npm, etc.
  2. Step 2: Check location and name validity

    'us-west1' is a valid location and 'my-repo' is a valid name; missing project flag usually defaults to current project.
  3. Final Answer:

    The repository format 'pip' is not supported -> Option D
  4. Quick Check:

    Unsupported format causes error = The repository format 'pip' is not supported [OK]
Hint: Check format spelling and support before creating repo [OK]
Common Mistakes:
  • Assuming all language names are valid formats
  • Ignoring error messages about format
  • Thinking location or name is the problem
5. You want to create an Artifact Registry repository that supports both Docker and npm packages in the us-central1 region. What is the best approach?
hard
A. Create two separate repositories: one with format docker and one with format npm, both in us-central1
B. Create one repository with format docker,npm in us-central1
C. Create a repository with format docker and upload npm packages to it
D. Create a repository with format npm and upload docker images to it

Solution

  1. Step 1: Understand repository format limitation

    Artifact Registry repositories support only one format each; you cannot mix formats in one repository.
  2. Step 2: Plan repository creation accordingly

    To support both Docker and npm, create two repositories with respective formats in the same region.
  3. Final Answer:

    Create two separate repositories: one with format docker and one with format npm, both in us-central1 -> Option A
  4. Quick Check:

    One format per repo = Create two separate repositories: one with format docker and one with format npm, both in us-central1 [OK]
Hint: One repo = one format; use multiple repos for multiple formats [OK]
Common Mistakes:
  • Trying to combine formats in one repository
  • Uploading wrong package types to a repo
  • Ignoring regional consistency
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard