Jenkins
How to Hijack docker.io Image Traffic to a Private Repository
· β˜• 4 min read
1. Self-signing a *.docker.io Domain Certificate 1.1 Creating a CA Certificate Generate the CA certificate private key 1 openssl genrsa -out ca.key 4096 Generate the CA certificate 1 2 3 4 openssl req -x509 -new -nodes -sha512 -days 3650 \ -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=chenshaowen.com" \ -key ca.key \ -out ca.crt 1.2 Creating a *.

Several Communication Methods for Jenkins Agent
· β˜• 1 min read
1. SSH Connection direction: Master actively connects to Agent Requirements: Master can connect directly to Agent over SSH The SSHD service is running on Agent Jenkins has the SSH Credentials Plugin and the SSH Build Agents plugin installed 2. JNLP Connection direction: Agent actively connects to Master Requirements: Agent can reach Master Agent needs a JVM environment to run Master needs to expose port 50000 (the default) for Agent communication Port 50000 is the service port of the Jenkins Master; no other service program needs to be run for it.

Why Does Jenkins Always Schedule to the Same Node
· β˜• 4 min read
1. Background Many build nodes were added to Jenkins using the same Label for pipelines to use, but Jenkins tends to run builds on the same node every time. This leads to concurrency problems: a single node is overloaded while other nodes sit idle, so the load is extremely unbalanced.

How to Customize Your Own Jenkins Image
· β˜• 10 min read
1. How to Deploy Jenkins To make the tests below easier, let me first introduce two ways to deploy Jenkins. Here I use the shaowenchen/jenkins:2.277.4 image. In a production environment, you should replace it with the official jenkins/jenkins image or your own custom image. 1.1 Running with docker-compose The docker-compose.yaml file

Best Practices for Jenkins on Kubernetes
· β˜• 5 min read
1. Configure Larger -Xms -Xmx Parameters Jenkins is an orchestration engine written in Java, and it stops the world (STW) during a Full GC. At large build scale, STW can prevent Jenkins from handling new requests. To avoid frequent STW while also increasing concurrency, it is recommended to set a larger heap, -Xms3g -Xmx6g -XX:MaxRAM=6g.