Jenkins X
Jenkins X, sprinkled with the magic of Jenkins and Kubernetes, serves as an effective platform for CI/CD (Continuous Integration and Continuous Delivery) in the realm of cloud-native applications in a microservices structure. It introduces Jenkins, Helm, Draft, GitOps, Github, and similar power tools as components of an infrastructure that offers end-to-end support, right from cluster installation and environment management to continuous integration, deployment, and application publishing.
Setting Up
Installing the jx
Command Line Tool
jx
Command Line Tool# MacOS
brew tap jenkins-x/jx
brew install jx
# Linux
curl -L https://github.com/jenkins-x/jx/releases/download/v1.1.10/jx-linux-amd64.tar.gz | tar xzv
sudo mv jx /usr/local/bin
Deploying Your Kubernetes Cluster
You can skip this step if you already have a deployed Kubernetes cluster.
With the jx
command, you can thrust your Kubernetes directly into the cloud:
create cluster aks # Create a new kubernetes cluster on AKS: Runs on Azure
create cluster aws # Create a new kubernetes cluster on AWS with kops
create cluster gke # Create a new kubernetes cluster on GKE: Runs on Google Cloud
create cluster minikube # Create a new kubernetes cluster with minikube: Runs locally
Launching Your Jenkins X Service
Before you introduce Jenkins X service into the mix, make sure that RBAC is activated in your Kubernetes cluster and insecure docker registries are on (dockerd --insecure-registry=10.0.0.0/16
).
Execute the following command and follow the instructions to configure:
An Ingress Controller (if not installed)
Public IP's DNS of Ingress (with
ip.xip.io
as the default)Github API token (for conjuring github repos and webhooks)
The Jenkins-X service
Demonstration projects such as 'staging' and 'production', including github repo and Jenkins configuration, etc.
jx install --provider=kubernetes
When the installation wraps up, you'll get Jenkins's access point as well as the admin username and password to log into Jenkins.
App Creation
Jenkins X takes you on a speedy ride to create new applications:
# To create a Spring Boot application
jx create spring -d web -d actuator
# For a quick start project creation
jx create quickstart -l go
It also offers successful app imports, as long as:
Github or equivalent git systems manage their source code and have Jenkins webhooks in place.
Dockerfile, Jenkinsfile, and any required Helm Charts to run the app are added.
# Import from local
$ cd my-cool-app
$ jx import
# Import from Github
jx import --github --org myname
# Import from URL
jx import --url https://github.com/jenkins-x/spring-boot-web-example.git
Publishing Apps
# To launch a recent version into the production environment
jx promote myapp --version 1.2.3 --env production

Usual Commands
# Get pipelines
jx get pipelines
# Get pipeline activities
jx get activities
# Get build logs
jx get build logs -f myapp
# Open Jenkins in the browser
jx console
# Get applications
jx get applications
# Get environments
jx get environments
最后更新于