<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Jenkins on Shaowen Chen's Website</title><link>https://www.chenshaowen.com/en/tags/jenkins/</link><description>Recent content in Jenkins on Shaowen Chen's Website</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>&amp;copy;2016 - {year}, All Rights Reserved.</copyright><lastBuildDate>Mon, 18 Jul 2022 00:00:00 +0000</lastBuildDate><sy:updatePeriod>weekly</sy:updatePeriod><atom:link href="https://www.chenshaowen.com/en/tags/jenkins/atom.xml" rel="self" type="application/rss+xml"/><item><title>How to Hijack docker.io Image Traffic to a Private Repository</title><link>https://www.chenshaowen.com/en/blog/hijack-docker-io-req-to-private-repository.html</link><pubDate>Mon, 18 Jul 2022 00:00:00 +0000</pubDate><atom:modified>Mon, 18 Jul 2022 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/hijack-docker-io-req-to-private-repository.html</guid><description>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 &amp;#34;/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=chenshaowen.com&amp;#34; \ -key ca.key \ -out ca.crt 1.2 Creating a *.</description><dc:creator>微信公众号</dc:creator><category>Jenkins</category><category>Kubernetes</category><category>Docker</category><category>Images</category><category>Operations</category><category>Security</category></item><item><title>How to Customize Your Own Jenkins Image</title><link>https://www.chenshaowen.com/en/blog/how-to-customize-your-jenkins.html</link><pubDate>Sat, 05 Jun 2021 00:00:00 +0000</pubDate><atom:modified>Sat, 05 Jun 2021 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-customize-your-jenkins.html</guid><description>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</description><dc:creator>微信公众号</dc:creator><category>DevOps</category><category>CICD</category><category>Jenkins</category><category>Docker</category><category>Operations</category></item><item><title>Jenkins Services on Kubernetes Can Drop Docker Now</title><link>https://www.chenshaowen.com/en/blog/using-podman-to-build-images-under-kubernetes-and-jenkins.html</link><pubDate>Thu, 25 Feb 2021 00:00:00 +0000</pubDate><atom:modified>Thu, 25 Feb 2021 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/using-podman-to-build-images-under-kubernetes-and-jenkins.html</guid><description>In principle, Jenkins can use Podman to build images in any Kubernetes cluster; this article uses Containerd as the example.
1. Dropping Docker Brings New Challenges to CICD In CICD scenarios, we often need to build and push images within a pipeline.
In an earlier document, Creating Jenkins Slaves Dynamically on Kubernetes, I described how mounting the /var/run/docker.</description><dc:creator>微信公众号</dc:creator><category>Jenkins</category><category>DevOps</category><category>CICD</category><category>Docker</category><category>Kubernetes</category><category>Podman</category></item><item><title>How to Connect a Remote macOS Physical Machine for Jenkins Pipeline Builds</title><link>https://www.chenshaowen.com/en/blog/how-to-run-the-pipeline-on-remote-osx.html</link><pubDate>Sun, 22 Nov 2020 00:00:00 +0000</pubDate><atom:modified>Sun, 22 Nov 2020 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-run-the-pipeline-on-remote-osx.html</guid><description>This article also applies to connecting physical machines with ARM or MIPS architectures and FreeBSD or Windows systems. If Jenkins can reach the build machine, you can skip the Frp part.
1. The Problem In scenarios where Kubernetes is the infrastructure, when Jenkins runs a build pipeline it creates a separate Pod for each pipeline for building.</description><dc:creator>微信公众号</dc:creator><category>Jenkins</category><category>macOS</category><category>CICD</category><category>CI</category><category>DevOps</category></item><item><title>How to Use Docker in Docker</title><link>https://www.chenshaowen.com/en/blog/how-to-use-docker-in-docker.html</link><pubDate>Sat, 21 Nov 2020 00:00:00 +0000</pubDate><atom:modified>Sat, 21 Nov 2020 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-use-docker-in-docker.html</guid><description>1. Typical Use Cases In CI, there is usually a CI Engine responsible for parsing the pipeline and controlling the whole build process, while the actual build is delegated to an Agent. Jenkins and GitLab both work this way.
As shown below, there are many kinds of Agents that connect to the CI Engine.</description><dc:creator>微信公众号</dc:creator><category>Docker</category><category>Kubernetes</category><category>Containers</category><category>CI</category><category>CICD</category><category>Operations</category><category>Learning</category><category>DinD</category><category>Build</category><category>Jenkins</category></item><item><title>KubeSphere DevOps 3.0 Pipeline Operations Guide</title><link>https://www.chenshaowen.com/en/blog/the-operation-guide-of-kubesphere-devops-3-0-pipeline.html</link><pubDate>Wed, 14 Oct 2020 00:00:00 +0000</pubDate><atom:modified>Wed, 14 Oct 2020 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/the-operation-guide-of-kubesphere-devops-3-0-pipeline.html</guid><description>This post mainly covers how to operate and maintain a DevOps pipeline, and how to solve some common problems. The problems fall mainly into two categories: one is Kubernetes-related and fairly general in nature; the other is business-related and requires some understanding of the domain before you can solve problems</description><dc:creator>微信公众号</dc:creator><category>KubeSphere</category><category>Kubernetes</category><category>DevOps</category><category>Jenkins</category><category>Operations</category><category>CICD</category></item><item><title>KubeSphere DevOps 3.0 Pipeline Development Guide</title><link>https://www.chenshaowen.com/en/blog/the-development-guide-of-kubesphere-devops-3-0-pipeline.html</link><pubDate>Tue, 13 Oct 2020 00:00:00 +0000</pubDate><atom:modified>Tue, 13 Oct 2020 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/the-development-guide-of-kubesphere-devops-3-0-pipeline.html</guid><description>KubeSphere DevOps consists of two parts: S2I and Pipeline. In the community, OpenShift provides an application packaging tool called S2I; for details, see Building Cloud-Native Applications with S2I
. KubeSphere turned it into a service, using a CRD managed by a separate Operator, and its functionality is fairly self-contained. In 3.</description><dc:creator>微信公众号</dc:creator><category>KubeSphere</category><category>Kubernetes</category><category>DevOps</category><category>Jenkins</category><category>Development Environment</category><category>R&amp;D</category><category>Operations</category></item><item><title>Jenkins X Is Not Jenkins, but a Tech Stack</title><link>https://www.chenshaowen.com/en/blog/jenkins-x-is-not-jenkins-but-stack.html</link><pubDate>Sun, 16 Aug 2020 00:00:00 +0000</pubDate><atom:modified>Sun, 16 Aug 2020 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/jenkins-x-is-not-jenkins-but-stack.html</guid><description>1. Introduction to Jenkins X Relying on its massive plugin ecosystem, Jenkins currently holds most of the enterprise CICD engine market share. But in the cloud native era, Jenkins has also exposed many problems: a single point of service, disk storage, memory usage, and so on.
Around Kubernetes, Jenkins X offers a DevOps approach better suited to the cloud native era.</description><dc:creator>微信公众号</dc:creator><category>Tech Stack</category><category>Jenkins</category><category>Jenkins-X</category><category>Kubernetes</category><category>DevOps</category><category>CICD</category><category>Operations</category></item><item><title>Stress Test: Dynamically Creating Jenkins Agents on Kubernetes</title><link>https://www.chenshaowen.com/en/blog/the-stress-test-about-kubernetes-dynamically-creates-jenkins-agent.html</link><pubDate>Sun, 02 Aug 2020 00:00:00 +0000</pubDate><atom:modified>Sun, 02 Aug 2020 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/the-stress-test-about-kubernetes-dynamically-creates-jenkins-agent.html</guid><description>In the previous document, we took advantage of the elasticity Kubernetes provides to dynamically create Jenkins Slaves on Kubernetes. This document is mainly a stress test of Jenkins under large-scale builds.
1. Cluster Configuration 1.1 Kubernetes Version The version used here is v1.16.7
1 2 3 4 kubectl version Client Version: version.</description><dc:creator>微信公众号</dc:creator><category>Jenkins</category><category>Kubernetes</category><category>DevOps</category><category>CICD</category><category>Testing</category><category>Operations</category></item><item><title>Analyzing the Lightweight Checkout Problem in Jenkins</title><link>https://www.chenshaowen.com/en/blog/the-question-of-lightweight-checkout-in-jenkins.html</link><pubDate>Mon, 22 Jun 2020 00:00:00 +0000</pubDate><atom:modified>Mon, 22 Jun 2020 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/the-question-of-lightweight-checkout-in-jenkins.html</guid><description>1. What Problem We Hit A Jenkins build log threw an error:
1 2 3 4 5 6 Started by user admin Lightweight checkout support not available, falling back to full checkout. Checking out git https://github.com/shaowenchen/pipeline-test.git into /var/jenkins_home/workspace/abc@script to read Jenkinsfile ... ... Unable to access &amp;#39;.git/index.lock&amp;#39;: File exists. Cause analysis:</description><dc:creator>微信公众号</dc:creator><category>Jenkins</category><category>Git</category><category>DevOps</category><category>Troubleshooting</category></item><item><title>Build Artifacts and Cache in Jenkins</title><link>https://www.chenshaowen.com/en/blog/artifacts-and-cache-in-jenkins.html</link><pubDate>Sun, 21 Jun 2020 00:00:00 +0000</pubDate><atom:modified>Sun, 21 Jun 2020 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/artifacts-and-cache-in-jenkins.html</guid><description>In a CICD flow, there are two main kinds of things that need to be saved: build artifacts and caches. Build artifacts are the final execution result, and caches exist to speed up the next build. This post mainly describes how to archive build artifacts and caches in Jenkins, along with a hands-on example backed by object storage.</description><dc:creator>微信公众号</dc:creator><category>Jenkins</category><category>S3</category><category>DevOps</category><category>Cache</category></item><item><title>Jenkins Plugin Development</title><link>https://www.chenshaowen.com/en/blog/how-to-develop-the-plugin-of-jenkins.html</link><pubDate>Sat, 20 Jun 2020 00:00:00 +0000</pubDate><atom:modified>Sat, 20 Jun 2020 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-develop-the-plugin-of-jenkins.html</guid><description>Using Jenkins always means dealing with all kinds of plugins. To practice DevOps better, we should also be capable of developing plugins ourselves, so the whole process can converge inside Jenkins.
1. Jenkins Plugins 1.1 The Plugin Ecosystem Jenkins&amp;rsquo; predecessor Hudson started in 2004, and 16 years on it is still a mainstream CI/CD engine.</description><dc:creator>微信公众号</dc:creator><category>Jenkins</category><category>DevOps</category><category>CICD</category><category>R&amp;D</category><category>Plugin</category><category>Java</category><category>Learning</category></item><item><title>Building an Automated Test System with Kubernetes and Jenkins</title><link>https://www.chenshaowen.com/en/blog/build-an-automated-test-system-using-kubernetes-and-jenkins.html</link><pubDate>Thu, 12 Dec 2019 00:00:00 +0000</pubDate><atom:modified>Thu, 12 Dec 2019 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/build-an-automated-test-system-using-kubernetes-and-jenkins.html</guid><description>1. Test Layering The purpose of testing is to verify expected behavior and uncover latent defects. Testing strengthens confidence that a qualified product can be delivered, and it is what makes agile iteration possible. You could say that testing determines the development pace of a product.
The network model has the seven-layer OSI and the four-layer TCP, while development patterns include MTV, MVC, MVP, MVVM, and so on.</description><dc:creator>微信公众号</dc:creator><category>Testing</category><category>Automation</category><category>Kubernetes</category><category>Jenkins</category><category>DevOps</category><category>CICD</category><category>Operations</category></item><item><title>Dynamically Creating a Jenkins Slave on Kubernetes</title><link>https://www.chenshaowen.com/en/blog/creating-jenkins-slave-dynamically-on-kubernetes.html</link><pubDate>Fri, 06 Dec 2019 00:00:00 +0000</pubDate><atom:modified>Fri, 06 Dec 2019 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/creating-jenkins-slave-dynamically-on-kubernetes.html</guid><description>1. Jenkins Working Modes Jenkins has a single-Master, multi-Slave architecture. The Master assigns tasks and manages services. Slaves execute the actual tasks. Even when multiple Masters are deployed, they remain independent of one another and cannot coordinate scheduling. A high-availability Jenkins solution requires an external task distribution framework, such as</description><dc:creator>微信公众号</dc:creator><category>Jenkins</category><category>Kubernetes</category><category>CICD</category><category>DevOps</category><category>Operations</category></item><item><title>Dial Testing Services with Jenkins</title><link>https://www.chenshaowen.com/en/blog/how-to-dial-up-testing-using-jenkins.html</link><pubDate>Wed, 04 Dec 2019 00:00:00 +0000</pubDate><atom:modified>Wed, 04 Dec 2019 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-dial-up-testing-using-jenkins.html</guid><description>1. Why Dial Testing For some of the critical services in a system, we usually set up monitoring. When a failure occurs, it can be detected as quickly as possible and a notification sent to the people who care. Once a failure has occurred, the failure process can be traced</description><dc:creator>微信公众号</dc:creator><category>Jenkins</category><category>Dial Testing</category><category>Monitoring</category><category>DevOps</category><category>Operations</category></item><item><title>How to Build an Automated Deployment Pipeline for Django with Jenkins, Docker, and GitLab</title><link>https://www.chenshaowen.com/en/blog/how-to-use-jenkins-docker-gitlab-to-build-django-automated-deployment-process.html</link><pubDate>Sun, 25 Nov 2018 00:00:00 +0000</pubDate><atom:modified>Sun, 25 Nov 2018 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-use-jenkins-docker-gitlab-to-build-django-automated-deployment-process.html</guid><description>One of the illusions that programmers at big companies easily fall into is mistaking platform capabilities for their own abilities. In a large team, we should not focus only on our own little patch of ground; we need to understand every part of the platform. On one hand, this helps us make better use of the platform&amp;rsquo;s features; on the other, it helps our own technical growth.</description><dc:creator>微信公众号</dc:creator><category>Django</category><category>GitLab</category><category>Jenkins</category><category>Docker</category><category>DevOps</category><category>CICD</category><category>R&amp;D</category><category>Operations</category></item><item><title>Jenkins Integrated Robot Framework Automated Testing</title><link>https://www.chenshaowen.com/en/blog/jenkins-integrated-robot-framework-testing.html</link><pubDate>Sun, 05 Aug 2018 00:00:00 +0000</pubDate><atom:modified>Sun, 05 Aug 2018 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/jenkins-integrated-robot-framework-testing.html</guid><description>1. Installing a Headless Browser 1.1 Installing PhantomJS on CentOS Download and extract Visit Phantomjs, find the download link for Download phantomjs-2.1.1-linux-x86_64.tar.bz2, and copy it. Run the following commands on CentOS: 1 2 3 4 5 wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 # 如果没有安装 bzip2 可能会报</description><dc:creator>微信公众号</dc:creator><category>RobotFramework</category><category>Automation</category><category>Continuous Integration</category><category>Testing</category><category>DevOps</category><category>Jenkins</category><category>R&amp;D</category></item><item><title>Jenkins Pipeline Usage and Debugging</title><link>https://www.chenshaowen.com/en/blog/jenkins-pipeline-usging-and-debug.html</link><pubDate>Mon, 14 Aug 2017 13:13:55 +0000</pubDate><atom:modified>Mon, 14 Aug 2017 13:13:55 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/jenkins-pipeline-usging-and-debug.html</guid><description>1. Basic Concepts master master is where Jenkins is installed and runs; it is responsible for parsing job scripts, handling tasks, and scheduling compute resources. agent agent is responsible for handling tasks dispatched from master; the actual operations are executed through an executor. executor An executor is the compute resource</description><dc:creator>微信公众号</dc:creator><category>Jenkins</category><category>Pipeline</category><category>Continuous Integration</category><category>DevOps</category><category>CICD</category><category>Debugging</category><category>R&amp;D</category></item><item><title>Jenkins Integrated GitHub Development</title><link>https://www.chenshaowen.com/en/blog/jenkins-integrated-github-development.html</link><pubDate>Tue, 18 Jul 2017 21:29:41 +0000</pubDate><atom:modified>Tue, 18 Jul 2017 21:29:41 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/jenkins-integrated-github-development.html</guid><description>1. Basic Concepts Continuous Integration Continuous integration emphasizes that once developers commit new code, a build and (unit) test run immediately. From the test results we can determine whether the new code and the existing code integrate correctly. Continuous Delivery Building on continuous integration, continuous delivery deploys the integrated code</description><dc:creator>微信公众号</dc:creator><category>Tools</category><category>Development</category><category>Jenkins</category><category>GitHub</category><category>CI</category><category>DevOps</category><category>R&amp;D</category></item></channel></rss>