Skip to content

Commit 948b8c8

Browse files
fixes and updates for the tech review
1 parent 048db97 commit 948b8c8

11 files changed

Lines changed: 316 additions & 376 deletions

File tree

content/learning-paths/servers-and-cloud-computing/jenkins/_index.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
11
---
2-
title: Deploy Jenkins on Arm64 Cloud Platforms (Azure & GCP)
2+
title: Deploy Jenkins on Arm cloud platforms
33

44
draft: true
55
cascade:
66
draft: true
77

88
minutes_to_complete: 30
99

10-
who_is_this_for: This learning path is intended for software developers deploying and optimizing Jenkins workloads on Linux/Arm64 environments, specifically on Microsoft Azure Cobalt 100 Arm processors and Google Cloud C4A virtual machines powered by Axion processors.
10+
who_is_this_for: This Learning Path is for software developers deploying and optimizing Jenkins workloads on Arm Linux environments, specifically on Microsoft Azure Cobalt 100 processors and Google Cloud C4A virtual machines powered by Axion processors.
1111

1212
learning_objectives:
13-
- Provision an Azure Arm64 virtual machine using the Azure console, with Ubuntu Pro 24.04 LTS as the base image
14-
- Provision an Arm-based SUSE SLES virtual machine on Google Cloud (C4A with Axion processors)
15-
- Install the latest stable Jenkins LTS with OpenJDK 17 on an Arm64 VM
13+
- Provision an Azure Arm64 virtual machine using the Azure console with Ubuntu Pro 24.04 LTS
14+
- Provision an Arm-based SUSE Linux virtual machine on Google Cloud (C4A with Axion processors)
15+
- Install Jenkins LTS with OpenJDK 17 on an Arm64 virtual machine
1616
- Validate Jenkins installation through service checks, UI access, and Arm-native pipeline execution
1717
- Execute Arm-native Jenkins pipelines to verify correct runtime behavior
18-
- Implement real-world CI use cases on Arm64, including Docker-based pipelines
18+
- Implement CI use cases on Arm64, including Docker-based pipelines
1919

2020
prerequisites:
21-
- A [Microsoft Azure](https://azure.microsoft.com/) account with access to Cobalt 100 based instances (Dpsv6).
22-
- A [Google Cloud Platform](https://cloud.google.com/) account with access to Arm-based VM instances.
23-
- Basic understanding of Linux command line.
24-
- Familiarity with CI/CD concepts and [Jenkins fundamentals](https://www.jenkins.io/doc/book/pipeline/).
21+
- A [Microsoft Azure](https://azure.microsoft.com/) account with access to Cobalt 100-based instances (Dpsv6)
22+
- A [Google Cloud Platform](https://cloud.google.com/) account with access to Arm-based virtual machine instances
23+
- Basic understanding of Linux command line
24+
- Familiarity with CI/CD concepts and [Jenkins fundamentals](https://www.jenkins.io/doc/book/pipeline/)
2525

2626
author: Pareena Verma
2727

Lines changed: 28 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,113 +1,106 @@
11
---
2-
title: Install Jenkins on Azure Ubuntu Arm64 VM
2+
title: Install Jenkins on Azure Ubuntu Arm64 virtual machine
33
weight: 5
44

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

9+
To install Jenkins on an Azure Ubuntu 24.04 LTS Arm64 virtual machine, follow these steps.
910

10-
## Install Jenkins on Azure Cobalt 100
11-
This guide explains how to install **Jenkins** on an **Azure Ubuntu 24.04 LTS Arm64 VM**.
12-
13-
At the end of this guide, Jenkins will be:
11+
At the end of the installation, Jenkins is:
1412

1513
* Installed and running as a system service
16-
* Accessible on **port 8080**
17-
* Verified on **Arm64 (aarch64)** with **Java 17**
14+
* Accessible on port 8080
15+
* Verified on Arm64 (aarch64) with Java 17
16+
17+
## Update the system and install basic tools
1818

19-
### System Preparation
20-
Updates the OS and installs basic tools required to securely download and manage Jenkins packages.
19+
Update the OS and install basic tools to securely download and manage Jenkins packages.
2120

2221
```console
2322
sudo apt update && sudo apt upgrade -y
2423
sudo apt install -y curl wget gnupg ca-certificates
2524
```
2625

27-
These tools are required to securely download Jenkins packages.
26+
## Install Java 17
2827

29-
### Install Java 17 (Required)
30-
Install the supported Java runtime required for running Jenkins LTS reliably.
31-
Jenkins LTS officially supports **Java 17**.
28+
Jenkins LTS officially supports Java 17. Install the Java runtime:
3229

3330
```console
3431
sudo apt install -y openjdk-17-jdk
3532
```
3633

37-
### Verify Java Installation
38-
Confirms that Java 17 is installed correctly and available in the system PATH.
34+
Verify Java installation:
3935

4036
```console
4137
java -version
4238
```
4339

44-
You should see an output similar to:
40+
The output is similar to:
4541
```output
4642
openjdk version "17.0.17" 2025-10-21
4743
OpenJDK Runtime Environment (build 17.0.17+10-Ubuntu-124.04)
4844
OpenJDK 64-Bit Server VM (build 17.0.17+10-Ubuntu-124.04, mixed mode, sharing)
4945
```
5046

51-
### Add Jenkins Official Repository (Stable LTS)
52-
Add the official Jenkins signing key to ensure package authenticity and security.
47+
## Add the Jenkins repository
48+
49+
Add the official Jenkins signing key to ensure package authenticity:
5350

5451
```console
5552
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | \
5653
sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null
5754
```
5855

59-
This key ensures Jenkins packages are trusted.
60-
61-
### Add Jenkins Stable Repository
62-
Configure the system to download Jenkins LTS packages from the official Jenkins repository.
56+
Add the Jenkins stable repository:
6357

6458
```console
6559
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
6660
https://pkg.jenkins.io/debian-stable binary/ | \
6761
sudo tee /etc/apt/sources.list.d/jenkins.list
6862
```
6963

70-
### Install Jenkins (Latest Stable LTS)
71-
Install the latest stable Jenkins Long-Term Support release on the Arm64 VM.
64+
## Install Jenkins
65+
66+
Install the latest stable Jenkins LTS release:
7267

7368
```console
7469
sudo apt update
7570
sudo apt install -y jenkins
7671
```
7772

78-
This installs the **latest Jenkins LTS available** at install time.
73+
## Start and enable the Jenkins service
7974

80-
### Start and Enable Jenkins Service
81-
Starts Jenkins immediately and enables it to launch automatically after system reboot.
75+
Start Jenkins immediately and enable it to launch automatically after system reboot:
8276

8377
```console
8478
sudo systemctl enable jenkins
8579
sudo systemctl start jenkins
8680
```
8781

88-
### Verify Service Status
89-
Confirms that the Jenkins service is running successfully without errors.
82+
Verify the service is running:
9083

9184
```console
9285
sudo systemctl status jenkins
9386
```
9487

95-
You should see an output similar to:
88+
The output is similar to:
9689
```output
9790
Active: active (running)
9891
```
9992

100-
### Verify Jenkins Version
101-
Validates the installed Jenkins LTS version to ensure correct deployment on Arm64.
93+
## Verify the Jenkins version
94+
95+
Check the installed Jenkins version:
10296

10397
```console
10498
jenkins --version
10599
```
106100

107-
You should see an output similar to:
101+
The output is similar to:
108102
```output
109103
2.528.3
110104
```
111-
This confirm the installed Jenkins LTS version.
112105

113-
This installation confirm Jenkins LTS is successfully deployed on an Azure Ubuntu Arm64 VM.
106+
Jenkins LTS is now successfully deployed on your Azure Ubuntu Arm64 virtual machine.
Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,49 @@
11
---
2-
title: Create an Arm based cloud virtual machine using Microsoft Cobalt 100 CPU
2+
title: Create an Arm-based virtual machine using Microsoft Cobalt 100
33
weight: 3
44

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

9-
## Introduction
9+
You can create an Arm-based Cobalt 100 virtual machine using the Microsoft Azure console, the Azure CLI tool, or Infrastructure as Code (IaC). For this Learning Path, you use the Azure console to create a virtual machine with an Arm-based Cobalt 100 processor.
1010

11-
There are several ways to create an Arm-based Cobalt 100 virtual machine: the Microsoft Azure console, the Azure CLI tool, or using your choice of IaC (Infrastructure as Code). This guide will use the Azure console to create a virtual machine with Arm-based Cobalt 100 Processor.
11+
You'll focus on the general-purpose virtual machine of the D series. For more details, see [Dpsv6 size series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/general-purpose/dpsv6-series) in the Microsoft Azure documentation.
1212

13-
This learning path focuses on the general-purpose virtual machine of the D series. Please read the guide on [Dpsv6 size series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/general-purpose/dpsv6-series) offered by Microsoft Azure.
13+
If you haven't used Microsoft Azure before, see [Create a Linux virtual machine in the Azure portal](https://learn.microsoft.com/en-us/azure/virtual-machines/linux/quick-create-portal?tabs=ubuntu).
1414

15-
If you have never used the Microsoft Cloud Platform before, please review the microsoft [guide to Create a Linux virtual machine in the Azure portal](https://learn.microsoft.com/en-us/azure/virtual-machines/linux/quick-create-portal?tabs=ubuntu).
15+
## Create an Arm-based Azure virtual machine
1616

17-
#### Create an Arm-based Azure Virtual Machine
17+
To create an Azure virtual machine based on Cobalt 100, launch the Azure portal and navigate to **Virtual Machines**.
1818

19-
Creating a virtual machine based on Azure Cobalt 100 is no different from creating any other virtual machine in Azure. To create an Azure virtual machine, launch the Azure portal and navigate to "Virtual Machines".
20-
1. Select "Create", and click on "Virtual Machine" from the drop-down list.
21-
2. Inside the "Basic" tab, fill in the Instance details such as "Virtual machine name" and "Region".
22-
3. Choose the image for your virtual machine (for example, Ubuntu Pro 24.04 LTS) and select “Arm64” as the VM architecture.
23-
4. In the “Size” field, click on “See all sizes” and select the D-Series v6 family of virtual machines. Select “D4ps_v6” from the list.
19+
1. Select **Create**, and click on **Virtual Machine** from the drop-down list.
20+
2. In the **Basic** tab, fill in the instance details such as **Virtual machine name** and **Region**.
21+
3. Choose the image for your virtual machine (for example, **Ubuntu 24.04 LTS**) and select **Arm64** as the VM architecture.
22+
4. In the **Size** field, click on **See all sizes** and select the **D-Series v6** family of virtual machines. Select **D4ps_v6** from the list.
2423

2524
![Azure portal VM creation — Azure Cobalt 100 Arm64 virtual machine (D4ps_v6) alt-text#center](images/instance.png "Figure 1: Select the D-Series v6 family of virtual machines")
2625

27-
5. Select "SSH public key" as an Authentication type. Azure will automatically generate an SSH key pair for you and allow you to store it for future use. It is a fast, simple, and secure way to connect to your virtual machine.
28-
6. Fill in the Administrator username for your VM.
29-
7. Select "Generate new key pair", and select "RSA SSH Format" as the SSH Key Type. RSA could offer better security with keys longer than 3072 bits. Give a Key pair name to your SSH key.
30-
8. In the "Inbound port rules", select HTTP (80) and SSH (22) as the inbound ports.
26+
5. Select **SSH public key** as an authentication type. Azure automatically generates an SSH key pair for you and allows you to store it for future use.
27+
6. Fill in the administrator username for your virtual machine.
28+
7. Select **Generate new key pair**, and select **RSA SSH Format** as the SSH key type. RSA offers better security with keys longer than 3072 bits. Give a key pair name to your SSH key.
29+
8. In **Inbound port rules**, select **HTTP (80)** and **SSH (22)** as the inbound ports.
3130

3231
![Azure portal VM creation — Azure Cobalt 100 Arm64 virtual machine (D4ps_v6) alt-text#center](images/instance1.png "Figure 2: Allow inbound port rules")
3332

34-
9. Click on the "Review + Create" tab and review the configuration for your virtual machine. It should look like the following:
33+
9. Click on the **Review + Create** tab and review the configuration for your virtual machine.
3534

3635
![Azure portal VM creation — Azure Cobalt 100 Arm64 virtual machine (D4ps_v6) alt-text#center](images/ubuntu-pro.png "Figure 3: Review and Create an Azure Cobalt 100 Arm64 VM")
3736

38-
10. Finally, when you are confident about your selection, click on the "Create" button, and click on the "Download Private key and Create Resources" button.
37+
10. When you're confident about your selection, click on the **Create** button, and click on the **Download Private key and Create Resources** button.
3938

4039
![Azure portal VM creation — Azure Cobalt 100 Arm64 virtual machine (D4ps_v6) alt-text#center](images/instance4.png "Figure 4: Download Private key and Create Resources")
4140

42-
11. Your virtual machine should be ready and running in no time. You can SSH into the virtual machine using the private key, along with the Public IP details.
41+
11. Your virtual machine is ready and running in a few minutes. Press **Go to Resource** to view the new virtual machine details. You can SSH into the virtual machine using the private key and the public IP address.
4342

4443
![Azure portal VM creation — Azure Cobalt 100 Arm64 virtual machine (D4ps_v6) alt-text#center](images/final-vm.png "Figure 5: VM deployment confirmation in Azure portal")
4544

4645
{{% notice Note %}}
4746

48-
To learn more about Arm-based virtual machine in Azure, refer to “Getting Started with Microsoft Azure” in [Get started with Arm-based cloud instances](/learning-paths/servers-and-cloud-computing/csp/azure).
47+
For more information about Arm-based virtual machines in Azure, see [Get started with Arm-based cloud instances](/learning-paths/servers-and-cloud-computing/csp/azure).
4948

5049
{{% /notice %}}
Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,37 @@
11
---
2-
title: Create a Firewall Rule on Azure
2+
title: Create a firewall rule on Azure
33
weight: 4
44

55

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

10-
## Overview
11-
In this section, you will create a firewall rule in the Microsoft Azure Console to allow inbound TCP traffic on port 8080.
12-
13-
To allow external traffic on port **8080** for your application running on an Azure Virtual Machine, you must open the port in the **Network Security Group (NSG)** attached to the VM's network interface or subnet.
10+
To allow external traffic on port 8080 for your application running on an Azure virtual machine, open the port in the Network Security Group (NSG) attached to the virtual machine's network interface or subnet.
1411

1512
{{% notice Note %}}
16-
For support on Azure setup, see the Learning Path [Getting started with Microsoft Azure Platform](/learning-paths/servers-and-cloud-computing/csp/azure/).
13+
For more information about Azure setup, see [Getting started with Microsoft Azure Platform](/learning-paths/servers-and-cloud-computing/csp/azure/).
1714
{{% /notice %}}
1815

1916

20-
### Create a Firewall Rule in Azure
17+
## Create a firewall rule in Azure
2118

2219
To expose the TCP port 8080, create a firewall rule.
2320

24-
Navigate to the [Azure Portal]([https://console.cloud.google.com/](https://portal.azure.com)), go to ****Virtual Machines**, and select **your VM**.
21+
Navigate to the [Azure Portal](https://portal.azure.com), go to **Virtual Machines**, and select your virtual machine.
2522

2623
![Create a firewall rule alt-text#center](images/virtual_machine.png "Virtual Machines")
2724

28-
Next, in the left menu, click **Networking** and in the **Networking** select **Network settings** that is associated with the VM's network interface.
25+
In the left menu, click **Networking** and in the **Networking** select **Network settings** that is associated with the virtual machine's network interface.
2926

3027
![Create a firewall rule alt-text#center](images/networking.png "Network settings")
3128

32-
Now, navigate to **Create port rule**, select **Inbound port rule**.
29+
Navigate to **Create port rule**, and select **Inbound port rule**.
3330

3431
![Create a firewall rule alt-text#center](images/port_rule.png "Create rule")
3532

36-
Next, configure it using the following details. After filling in the details, click **Add** to save the rule.
33+
Configure it using the following details. After filling in the details, click **Add** to save the rule.
3734

3835
![Create a firewall rule alt-text#center](images/inbound_rule.png "Network settings")
3936

40-
The network firewall rule has now been created
37+
The network firewall rule is now created.
Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,27 @@
11
---
2-
title: Technology Stack Overview
2+
title: Technology stack overview
33

44
weight: 2
55

66
layout: "learningpathall"
77
---
88

9-
## Cobalt 100 Arm-based processor
9+
## Cobalt 100 processor
1010

11-
Azures Cobalt 100 is built on Microsoft's first-generation, in-house Arm-based processor: the Cobalt 100. Designed entirely by Microsoft and based on Arms Neoverse N2 architecture, this 64-bit CPU delivers improved performance and energy efficiency across a broad spectrum of cloud-native, scale-out Linux workloads. These include web and application servers, data analytics, open-source databases, caching systems, and other related technologies. Running at 3.4GHz, the Cobalt 100 processor allocates a dedicated physical core for each vCPU, ensuring consistent and predictable performance.
11+
Azure's Cobalt 100 is built on Microsoft's first-generation, in-house Arm-based processor. Designed entirely by Microsoft and based on Arm's Neoverse N2 architecture, this 64-bit CPU delivers improved performance and energy efficiency across a broad spectrum of cloud-native, scale-out Linux workloads, including web and application servers, data analytics, open-source databases, caching systems, and related technologies. Running at 3.4 GHz, the Cobalt 100 processor allocates a dedicated physical core for each vCPU, ensuring consistent and predictable performance.
1212

13-
To learn more about Cobalt 100, refer to the blog [Announcing the preview of new Azure virtual machine based on the Azure Cobalt 100 processor](https://techcommunity.microsoft.com/blog/azurecompute/announcing-the-preview-of-new-azure-vms-based-on-the-azure-cobalt-100-processor/4146353).
13+
For more information about Cobalt 100, see [Announcing the preview of new Azure virtual machines based on the Azure Cobalt 100 processor](https://techcommunity.microsoft.com/blog/azurecompute/announcing-the-preview-of-new-azure-vms-based-on-the-azure-cobalt-100-processor/4146353).
1414

1515
## Google Axion C4A Arm instances in Google Cloud
1616

1717
Google Axion C4A is a family of Arm-based virtual machines built on Google’s custom Axion CPU, which is based on Arm Neoverse-V2 cores. Designed for high-performance and energy-efficient computing, these virtual machines offer strong performance for modern cloud workloads such as CI/CD pipelines, microservices, media processing, and general-purpose applications.
1818

1919
The C4A series offers a cost-effective alternative to x86 virtual machines, leveraging the scalability and performance benefits of the Arm architecture in Google Cloud.
2020

21-
To learn more about Google Axion, refer to the [Introducing Google Axion Processors, our new Arm-based CPUs](https://cloud.google.com/blog/products/compute/introducing-googles-new-arm-based-cpu) blog.
21+
For more information about Google Axion, see [Introducing Google Axion Processors, our new Arm-based CPUs](https://cloud.google.com/blog/products/compute/introducing-googles-new-arm-based-cpu).
2222

2323
## Jenkins
24-
Jenkins is an open-source automation server used to build, test, and deploy software through continuous integration and continuous delivery (CI/CD). It automates development workflows and integrates with a wide range of tools and platforms via its plugin ecosystem.
2524

26-
Learn more from the [Jenkins official website](https://www.jenkins.io/) and the [official documentation](https://www.jenkins.io/doc/).
25+
Jenkins is an open-source automation server used to build, test, and deploy software through continuous integration and continuous delivery (CI/CD). It automates development workflows and integrates with a wide range of tools and platforms through its plugin ecosystem.
26+
27+
For more information, see the [Jenkins official website](https://www.jenkins.io/) and the [official documentation](https://www.jenkins.io/doc/).

0 commit comments

Comments
 (0)