DEV Community

Ameh Mathias Ejeh
Ameh Mathias Ejeh

Posted on

1 1 1 1 1

Setting Up CodeArtifact from the CLI

`Introduction
This hands-on lab walks you through how to create CodeArtifact domains and repositories, and then populate the repositories using the AWS Command Line Interface.

Scenario

Image description

I am going to use the command line interface to set up CodeArtifact. First, I will create a CodeArtifact domain, a CodeArtifact repository, and an upstream repository. Then, I will connect to a public repository and install the necessary packages.

Lab Objectives

  • Create an EC2 instance.
  • Create access keys for cloud_user.
  • Run aws configure.
  • Install nvm and Node.js.
  • Create a CodeArtifact domain.
  • Create a CodeArtifact repository.
  • Create an upstream repository.
  • Create a connection to the public npm repository.
  • Associate the npm repository to the main repository.
  • Configure the npm package manager with the main repository.
  • Install the necessary npm packages.
  • View the installed packages.
  • Review CodeArtifact in the AWS Management Console.
  • Delete all resources.

Prepare the AWS Environment

Prepare the EC2 Instance

  • Navigate to EC2.
  • In the Launch instance section of the dashboard, use the Launch instance dropdown to select Launch instance.
  • Fill in the instance details: Name: CodeArtifactDemo. Application and OS Images (AMI): Amazon Linux Instance type: t3.micro.
  • In the Network settings section, click Edit on the right.
  • In the Auto-assign public IP field, use the dropdown to select Enable.
  • Leave all other default settings, and click Launch instance.
  • In the Create key pair dialog, select Proceed without key pair, and then click Proceed without key pair to confirm.
  • Click Launch instance again.

Image description

Prepare the Access Key

  • After the instance is successfully launched, navigate to IAM.
  • In the sidebar menu, navigate to Access management and then select Users.
  • From the Users list, select the cloud_user user name. From the user details, select the Security credentials tab.
  • In the Access keys section, click Create access key. Select Command Line Interface (CLI).
  • Check the I understand the above recommendation checkbox toward the bottom of the page, and then click Next.
  • Leave the tag section blank and click Create access key.
  • Leave this tab open so you can refer back to your access key when you need it.

Image description

Prepare the AWS CLI Environment

  • In a new browser tab, navigate to EC2.
  • From the EC2 dashboard, select Instances (running).
  • Check the checkbox next to the CodeArtifactDemo instance and then click connect
  • Click Connect again.
  • In the terminal, set up your AWS CLI installation: aws configure
  • When prompted for the access key, navigate back to your IAM Management Console tab and copy your access key.
  • Navigate back to your EC2 Instance Connect tab and paste your copied access key into the terminal.
  • When prompted for the secret key, navigate back to your IAM Management Console tab and copy your secret access key.
  • Navigate back to your EC2 Instance Connect tab and paste your copied secret access key into the terminal.
  • Enter the default Region name: us-east-1
  • When prompted for the default output format, press Enter.

Image description

Create a CodeArtifact Domain

Image description

Create a Repository within the Domain

  • Create a demo-repo repository within the demo-domain CodeArtifact domain aws codeartifact create-repository --domain demo-domain --domain-owner 974009255478 --repository demo-repo

Image description

Create an Upstream Repository

  • Create an npm-store repository within the demo-domain CodeArtifact domain: aws codeartifact create-repository --domain demo-domain --domain-owner 974009255478 --repository npm-store

Image description

  • Link the npm-store repository with the public npm repository aws codeartifact associate-external-connection --domain demo-domain --domain-owner 974009255478 --repository npm-store --external-connection "public:npmjs"
  • This will allow you to pull packages from the public repository.

Image description

  • Make npm-store an upstream repository to demo-repo aws codeartifact update-repository --repository demo-repo --domain demo-domain --domain-owner 974009255478 --upstreams repositoryName=npm-store
  • This allows demo-repo to inherit packages from npm-store.

Image description

  • Configure npm in demo-repo aws codeartifact login --tool npm --repository demo-repo --domain demo-domain --domain-owner 974009255478
  • You should see a message indicating that npm was successfully configured to use the demo-repo repository.

Image description

  • Install a JavaScript library npm package: npm install lodash

Image description

  • Install the express, eslint, and mongo packages: npm install express eslint mongo
  • List the packages in demo-repo: aws codeartifact list-packages --domain demo-domain --repository demo-repo

Image description

Validate and Clean Up Resources
Verify the packages in the AWS Management Console:

  • Navigate back to the IAM Management Console tab, and then navigate to CodeArtifact.
  • In the sidebar menu, navigate to Artifacts and then select Domains.
  • Select the demo-domain domain name.
  • View the contents of each repository one at a time.

Image description

Attempt to delete demo-domain:

  • Navigate back to demo-domain.
  • On the right, click Delete domain.
  • When prompted, type delete into the text field to confirm the deletion, and then click Delete.
  • You should see a warning that the domain must contain 0 repositories before deletion

Image description

Delete the repositories:

  • Select one of the repository names.
  • On the right, click Delete repository.
  • When prompted, type delete into the text field to confirm the deletion, and then click Delete.
  • Repeat the process to delete any remaining repositories. Attempt to delete demo-domain again:
  • Navigate back to demo-domain.
  • On the right, click Delete domain.
  • When prompted, type delete into the text field to confirm the deletion, and then click Delete.
  • This time, the deletion should be successful.

Image description

Heroku

Simplify your DevOps and maximize your time.

Since 2007, Heroku has been the go-to platform for developers as it monitors uptime, performance, and infrastructure concerns, allowing you to focus on writing code.

Learn More

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay