Skip to content

Commit f7997e8

Browse files
Merge pull request #2620 from madeline-underwood/circle_ci
circle ci_JA to sign off
2 parents 0d48406 + 05c075a commit f7997e8

7 files changed

Lines changed: 107 additions & 110 deletions

File tree

content/learning-paths/servers-and-cloud-computing/circleci-on-aws/_index.md

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
11
---
2-
title: CircleCI Arm Native Workflows on AWS Graviton2 (EC2)
2+
title: Deploy CircleCI Arm Native Workflows on AWS EC2 Graviton2
33

44
minutes_to_complete: 45
55

6-
draft: true
7-
cascade:
8-
draft: true
9-
10-
who_is_this_for: This learning path is intended for software developers and DevOps engineers looking to set up and run CircleCI Arm native workflows on Linux Arm64 VMs, specifically on AWS EC2 Graviton2 instances (Neoverse N1), using self-hosted runners.
6+
who_is_this_for: This is an introductory topic for developers and DevOps engineers who want to set up and run CircleCI Arm native workflows on Linux Arm64 virtual machines. You'll use AWS EC2 Graviton2 instances (Neoverse N1) and self-hosted runners.
117

128
learning_objectives:
139
- Provision an AWS EC2 Graviton2 Arm64 virtual machine
14-
- Install and configure CircleCI self-hosted machine runners on Arm64
10+
- Install and configure a CircleCI self-hosted machine runners on Arm64
1511
- Verify the runner by running a simple workflow and test computation
1612
- Define and execute CircleCI job using a machine executor
1713
- Check CPU architecture and execute a basic script to confirm if the runner is operational

content/learning-paths/servers-and-cloud-computing/circleci-on-aws/background.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,28 @@
11
---
2-
title: Getting Started with CircleCI on AWS Graviton2 (Arm Neoverse-N1)
2+
title: Get Started with CircleCI on AWS Graviton2
33

44
weight: 2
55

66
layout: "learningpathall"
77
---
88

9+
## AWS Graviton2 Arm instances on Amazon EC2
910

10-
## AWS Graviton2 Arm Instances on Amazon EC2
11-
12-
**AWS Graviton2** is a family of Arm-based processors designed by AWS and built on **Arm Neoverse-N1 cores**. These instances deliver exceptional price-to-performance efficiency, making them ideal for compute-intensive workloads such as CI/CD pipelines, microservices, containerized applications, and data processing tasks.
11+
AWS Graviton2 is a family of Arm-based processors designed by AWS and built on Arm Neoverse-N1 cores. These instances deliver exceptional price-to-performance efficiency, making them ideal for compute-intensive workloads such as CI/CD pipelines, microservices, containerized applications, and data processing tasks.
1312

1413
Graviton2-powered EC2 instances provide high performance and energy efficiency compared to traditional x86-based instances while maintaining compatibility with popular Linux distributions and open-source software stacks.
1514

16-
To learn more about AWS Graviton processors, refer to the [AWS Graviton2 Processor Overview](https://aws.amazon.com/ec2/graviton/).
15+
To learn more about AWS Graviton processors, see the [AWS Graviton2 Processor Overview](https://aws.amazon.com/ec2/graviton/).
1716

1817
## CircleCI
1918

20-
**CircleCI** is a leading cloud-based **Continuous Integration and Continuous Delivery (CI/CD)** platform that automates the **building, testing, and deployment** of software projects.
19+
CircleCI is a leading cloud-based Continuous Integration and Continuous Delivery (CI/CD) platform that automates the building, testing, and deployment of software projects.
20+
21+
It seamlessly integrates with popular version control systems such as GitHub, Bitbucket, and GitLab, allowing developers to define automation workflows through a `.circleci/config.yml` file written in YAML syntax.
22+
23+
CircleCI supports multiple execution environments, including Docker, Linux, macOS, and Windows, while providing advanced capabilities like parallel job execution, build caching, and matrix builds for optimized performance.
2124

22-
It seamlessly integrates with popular version control systems such as **GitHub**, **Bitbucket**, and **GitLab**, allowing developers to define automation workflows through a `.circleci/config.yml` file written in **YAML syntax**.
25+
It is widely adopted by development teams to accelerate build cycles, enforce code quality, automate testing, and streamline application delivery.
2326

24-
CircleCI supports multiple execution environments, including **Docker**, **Linux**, **macOS**, and **Windows**, while providing advanced capabilities like **parallel job execution**, **build caching**, and **matrix builds** for optimized performance.
27+
To learn more, visit the [CircleCI website](https://circleci.com/) and the [CircleCI documentation](https://circleci.com/docs/).
2528

26-
It is widely adopted by development teams to **accelerate build cycles, enforce code quality, automate testing, and streamline application delivery**.
27-
To learn more, visit the [official CircleCI website](https://circleci.com/) and explore its [documentation](https://circleci.com/docs/).

content/learning-paths/servers-and-cloud-computing/circleci-on-aws/circleci-runner-installation.md

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
11
---
2-
title: Install CircleCI Machine Runner on AWS Graviton2
2+
title: Install CircleCI machine runner on AWS Graviton2
33
weight: 6
44

55
### FIXED, DO NOT MODIFY
66
layout: learningpathall
77
---
88

9-
## Install CircleCI Machine Runner on AWS Graviton2
9+
## Install CircleCI machine runner on AWS Graviton2
1010

11-
This guide provides step-by-step instructions to install and configure the **CircleCI Machine Runner** on an **AWS Graviton2 (Neoverse N1) instance**.
12-
With this setup, your self-hosted **Arm64 environment** can efficiently execute CircleCI jobs directly on the Graviton2 architecture, enabling faster builds and improved performance for ARM-based workloads.
11+
This Learning Path shows you how to install and configure the CircleCI Machine Runner on an AWS Graviton2 (Neoverse N1) instance. With this setup, your self-hosted Arm64 environment can efficiently execute CircleCI jobs directly on the Graviton2 architecture, enabling faster builds and improved performance for Arm-based workloads.
1312

1413

15-
### Add CircleCI Package Repository
16-
For **Debian/Ubuntu-based systems** running on **AWS Graviton2 (Arm64)**, first add the official CircleCI repository.
17-
This ensures you can install the CircleCI Runner package directly using `apt`.
14+
## Add the CircleCI package repository
15+
For Debian/Ubuntu-based systems running on AWS Graviton2 (Arm64), first add the official CircleCI repository. This ensures you can install the CircleCI Runner package directly using `apt`:
1816

1917
```console
2018
curl -s https://packagecloud.io/install/repositories/circleci/runner/script.deb.sh?any=true | sudo bash
@@ -24,8 +22,8 @@ curl -s https://packagecloud.io/install/repositories/circleci/runner/script.deb.
2422
- It configures the repository on your system, allowing `apt` to fetch and install the CircleCI runner package.
2523
- After successful execution, the CircleCI repository will be added under `/etc/apt/sources.list.d/`.
2624

27-
### Configure the Runner Token
28-
- Each self-hosted runner requires a unique authentication token generated from your Resource Class in the CircleCI Dashboard.
25+
## Configure the runner token
26+
- Each self-hosted runner requires a unique authentication token generated from your resource class in the CircleCI dashboard.
2927
- Copy the token from the CircleCI web interface.
3028
- Export the token as an environment variable and update the runner configuration file as shown:
3129

@@ -34,25 +32,24 @@ export RUNNER_AUTH_TOKEN="YOUR_AUTH_TOKEN"
3432
sudo sed -i "s/<< AUTH_TOKEN >>/$RUNNER_AUTH_TOKEN/g" /etc/circleci-runner/circleci-runner-config.yaml
3533
```
3634

37-
### Install the CircleCI Runner
38-
Install the pre-built CircleCI runner package:
35+
## Install the CircleCI runner
36+
To install the CircleCI runner, use the following command:
3937

4038
```console
4139
sudo apt-get install -y circleci-runner
4240
```
43-
44-
- Installs the latest CircleCI Machine Runner compatible with your Arm64 instance.
45-
- Runner binary and configuration files are located in `/usr/bin/` and `/etc/circleci-runner/`.
4641

47-
### Configure the Runner Authentication Token
48-
Update the CircleCI runner configuration with your authentication token. This token is generated from the Resource Class you created in the CircleCI Dashboard.
42+
This command installs the latest CircleCI Machine Runner for your Arm64 system. The runner program is placed in `/usr/bin/`, and its configuration files are stored in `/etc/circleci-runner/`.
43+
44+
## Configure the runner authentication token
45+
Update the CircleCI runner configuration with your authentication token. This token is generated from the resource class you created in the CircleCI Dashboard.
4946

5047
```console
5148
export RUNNER_AUTH_TOKEN="YOUR_AUTH_TOKEN"
5249
sudo sed -i "s/<< AUTH_TOKEN >>/$RUNNER_AUTH_TOKEN/g" /etc/circleci-runner/circleci-runner-config.yaml
5350
```
5451

55-
### Enable and Start the CircleCI Runner
52+
## Enable and start the CircleCI runner
5653
Set the CircleCI runner service to start automatically and verify it is running:
5754

5855
```console
@@ -88,6 +85,6 @@ Oct 17 06:19:13 ip-172-31-34-224 circleci-runner[2226]: 06:19:13 c34c1 22.514ms
8885

8986
This confirms that the CircleCI Runner is actively connected to your CircleCI account and ready to accept jobs.
9087

91-
Also, you can verify it from the dashboard:
88+
You can also verify it from the dashboard:
9289

93-
![Self-Hosted Runners alt-text#center](images/runner.png "Figure 1: Self-Hosted Runners ")
90+
![Diagram showing the CircleCI self-hosted runner architecture. The main subject is an AWS Graviton2 server labeled as a self-hosted runner, connected to the CircleCI cloud platform. Arrows indicate job requests flowing from CircleCI to the runner and job results returning to CircleCI. The environment includes icons for cloud infrastructure and developer workstations. The tone is technical and informative. Any visible text in the image is transcribed as: Self-Hosted Runners. alt-text#center](images/runner.png "Self-Hosted Runners ")

content/learning-paths/servers-and-cloud-computing/circleci-on-aws/circlecli-installation.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,29 @@ weight: 4
66
layout: learningpathall
77
---
88

9-
## Install CircleCI CLI on AWS Graviton2 (Neoverse N1) Instance
10-
This guide explains installing the **CircleCI Command Line Interface (CLI)** on an **AWS Graviton2 (Neoverse N1) Arm64 EC2 instance**.
11-
The CLI enables you to interact with CircleCI directly from your terminal — for validating configuration files, managing pipelines, and operating self-hosted runners on your EC2 instance.
9+
## Install CircleCI CLI on AWS Graviton2 (Neoverse N1) instance
10+
This section walks you through how to install the CircleCI command line interface (CLI) on an AWS Graviton2 (Neoverse N1) Arm64 EC2 instance.
11+
With the CLI, you can work with CircleCI from your terminal to check configuration files, manage pipelines, and run self-hosted runners on your EC2 instance.
1212

13-
### Install Required Packages
14-
Before installing the CircleCI CLI, ensure your system has the necessary tools for downloading and extracting files.
13+
## Install the required packages
14+
Before installing the CircleCI CLI, ensure your system has the necessary tools for downloading and extracting files:
1515

1616
```console
1717
sudo apt update && sudo apt install -y curl tar gzip coreutils gpg git
1818
```
19-
### Download and Extract the CircleCI CLI
19+
## Download and extract the CircleCI CLI
2020

21-
Next, download the CircleCI CLI binary for **Linux arm64** and extract it.
21+
Next, download the CircleCI CLI binary for Linux arm64 and extract it:
2222

2323
```console
2424
curl -fLSs https://github.com/CircleCI-Public/circleci-cli/releases/download/v0.1.33494/circleci-cli_0.1.33494_linux_arm64.tar.gz | tar xz
2525
sudo mv circleci-cli_0.1.33494_linux_arm64/circleci /usr/local/bin/
2626
```
27-
- The `curl` command fetches the official **CircleCI CLI archive** from GitHub.
27+
- The `curl` command fetches the official CircleCI CLI archive from GitHub.
2828
- The `| tar xz` command extracts the compressed binary in a single step.
2929
- After extraction, a new folder named **`circleci-cli_0.1.33494_linux_arm64`** appears in your current directory.
3030

31-
### Verify the Installation
31+
## Verify the installation
3232

3333
To ensure that the CLI is installed successfully, check its version:
3434

content/learning-paths/servers-and-cloud-computing/circleci-on-aws/instance.md

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,30 @@ layout: learningpathall
88

99
## Overview
1010

11-
In this section, you will learn how to provision an **AWS Graviton2 Arm64 EC2 instance** on **Amazon Web Services (AWS)** using the **m6g.xlarge** instance type (2 vCPUs, 8 GB memory) in the **AWS Management Console**.
11+
In this section, you'll learn how to provision an AWS Graviton2 Arm64 EC2 instance on Amazon Web Services (AWS) using the m6g.xlarge instance type (2 vCPUs, 8 GB memory) in the AWS Management Console.
1212

1313
{{% notice Note %}}
1414
For support on AWS setup, see the Learning Path [Getting started with AWS](https://learn.arm.com/learning-paths/servers-and-cloud-computing/csp/aws/).
1515
{{% /notice %}}
1616

17-
## Provision an AWS EC2 Arm64 Graviton2 Instance in the AWS Management Console
17+
## Provision the instance in the AWS Management Console
1818

19-
To create a virtual machine based on the AWS Graviton2 Instance type:
19+
To create a virtual machine based on the AWS Graviton2 Instance type, follow these steps:
2020
- Navigate to the [AWS Management Console](https://aws.amazon.com/console/).
2121
- Go to **EC2 > Instances** and select **Launch Instance**.
2222
- Under **Instance configuration**:
23-
- Enter an appropriate **Instance name**.
24-
- Choose an **Amazon Machine Image (AMI)** such as **Ubuntu 24.04 ARM64**.
23+
- Enter an appropriate **Instance name**.
24+
- Choose an **Amazon Machine Image (AMI)** such as **Ubuntu 24.04 ARM64**.
2525

26-
![AWS Management Console alt-text#center](images/aws1.png "Figure 1: Amazon Machine Image (AMI)")
27-
26+
![AWS Management Console showing the Amazon Machine Image selection screen with Ubuntu 24.04 ARM64 highlighted. The interface displays a list of available AMIs, each with details such as name, architecture, and description. The wider environment includes navigation menus on the left and a search bar at the top. The mood is neutral and instructional, focused on guiding users through selecting an appropriate AMI. Visible text includes Amazon Machine Image, Ubuntu 24.04 ARM64, and related AMI details. alt-text#center](images/aws1.png "Amazon Machine Image (AMI)")
2827
- Under **Instance type**, select a Graviton2-based type `m6g.xlarge`.
2928

30-
![AWS Management Console alt-text#center](images/aws2.png "Figure 2: Instance type")
29+
![AWS Management Console displaying the instance type selection screen with m6g.xlarge highlighted. The primary subject is the list of available EC2 instance types, each showing details such as name, vCPUs, memory, and architecture. The m6g.xlarge row is selected, indicating 2 vCPUs and 8 GB memory, with Arm64 architecture. The wider environment includes navigation menus on the left and a search bar at the top. Visible text includes Instance type, m6g.xlarge, vCPUs, Memory, and Arm64. The tone is neutral and instructional, guiding users to select the correct instance type. #alt-text#center](images/aws2.png "Instance type")
3130

3231
- Configure your **Key pair (login)** by either creating a new key pair or selecting an existing one to securely access your instance.
3332
- In **Network settings**, ensure that **Allow HTTP traffic from the internet** and **Allow HTTPS traffic from the internet** are checked.
3433

35-
![AWS Management Console alt-text#center](images/aws3.png "Figure 3: Network settings")
34+
![AWS Management Console showing the Network settings configuration screen for launching an EC2 instance. The primary subject is the Network settings panel, where the options Allow HTTP traffic from the internet and Allow HTTPS traffic from the internet are both checked. The wider environment includes navigation menus on the left and a summary of instance configuration steps at the top. Visible text includes Network settings, Allow HTTP traffic from the internet, and Allow HTTPS traffic from the internet. The tone is neutral and instructional, guiding users to enable the correct network access for their instance. #alt-text#center](images/aws3.png "Network settings")
3635

37-
- Adjust **Storage** settings as needed — for most setups, 30 GB of gp3 (SSD) storage is sufficient.
38-
- Click **Launch Instance** to create your EC2 virtual machine.
36+
- Adjust the Storage settings. For most use cases, 30 GB of gp3 (SSD) storage is enough.
37+
- Select **Launch Instance** to create your EC2 virtual machine.

0 commit comments

Comments
 (0)