Introduction
Technology stack overview
Create an Arm-based virtual machine using Microsoft Cobalt 100
Create a firewall rule on Azure
Install Jenkins on Azure Ubuntu Arm64 virtual machine
Create a firewall rule on GCP
Create a Google Axion C4A virtual machine
Install Jenkins on GCP SUSE Arm64 virtual machine
Validate Jenkins installation
Build an Arm-native Go CI pipeline on Jenkins (GCP SUSE Arm64)
Build a Docker-based CI pipeline on Arm64
Next Steps
You can validate Arm-native CI execution on a GCP SUSE Arm64 virtual machine using Jenkins. Build and execute a simple Go application to confirm that Jenkins, Go, and the underlying system run natively on aarch64.
Before starting, ensure the following components are available:
Prepare a simple Go application that Jenkins will build and execute.
Install the Go programming language:
sudo zypper install -y go
Verify Go installation:
go version
The output is similar to:
go version go1.x.x linux/arm64
Create a small Go program:
mkdir -p ~/go-demo
cd ~/go-demo
Create main.go:
cat <<EOF > main.go
package main
import "fmt"
func main() {
fmt.Println("Hello from Go on Arm64 via Jenkins")
}
EOF
Initialize the Go module:
go mod init go-demo
Test the application locally:
go run main.go
The output is similar to:
Hello from Go on Arm64 via Jenkins
Create a Jenkins pipeline to build and run the Go application automatically.
go-arm-ci
Create new job
In the Pipeline section:
Update “/home/gcpuser/go-demo” in the script to reflect the actual location of your go-demo directory.
pipeline {
agent any
stages {
stage('Environment Check') {
steps {
sh 'uname -m'
sh 'go version'
}
}
stage('Build Go App') {
steps {
sh '''
cd $WORKSPACE
cp -r /home/gcpuser/go-demo .
cd go-demo
go build -o app
'''
}
}
stage('Run Binary') {
steps {
sh '''
cd $WORKSPACE/go-demo
./app
'''
}
}
}
}
Select Save.
Configure pipeline script
Trigger the pipeline:
Run pipeline
Review the console logs to confirm the Go application was built and executed successfully:
#1)
Console output
You’ve successfully validated an Arm-native Jenkins CI pipeline by building and executing a Go application on your GCP SUSE Arm64 virtual machine. Successful execution confirms:
Your Jenkins setup is now ready for cloud-native CI workloads on Arm architecture.