<?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>Build on Shaowen Chen's Website</title><link>https://www.chenshaowen.com/en/tags/build/</link><description>Recent content in Build on Shaowen Chen's Website</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>&amp;copy;2016 - {year}, All Rights Reserved.</copyright><lastBuildDate>Fri, 17 Jan 2025 00:00:00 +0000</lastBuildDate><sy:updatePeriod>weekly</sy:updatePeriod><atom:link href="https://www.chenshaowen.com/en/tags/build/atom.xml" rel="self" type="application/rss+xml"/><item><title>Building Multi-Arch Images with Nerdctl</title><link>https://www.chenshaowen.com/en/blog/use-nerdctl-to-build-multi-architecture-images.html</link><pubDate>Fri, 17 Jan 2025 00:00:00 +0000</pubDate><atom:modified>Fri, 17 Jan 2025 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/use-nerdctl-to-build-multi-architecture-images.html</guid><description>1. Installing Nerdctl Install Opscli 1 curl -sfL https://raw.githubusercontent.com/shaowenchen/ops/main/getcli.sh |VERSION=latest sh - Install Nerdctl 1 opscli task -f install-nerdctl --arch amd64 2. BuildKit Download Buildkit 1 wget https://github.com/moby/buildkit/releases/download/v0.19.0-rc2/buildkit-v0.19.0-rc2.linux-amd64.tar.gz Install Buildkit 1 2 tar xvf buildkit-*.tar.gz mv bin/* /usr/local/bin/ Configure Buildkitd 1 mkdir -p /etc/buildkit /data/buildkit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 cat &amp;gt; /etc/buildkit/buildkitd.</description><dc:creator>微信公众号</dc:creator><category>Multi-Arch</category><category>Images</category><category>CI</category><category>Nerdctl</category><category>Kubernetes</category><category>Operations</category><category>Learning</category><category>CICD</category><category>containerd</category><category>Build</category></item><item><title>Tekton Optimization: A Custom Cluster Scheduler</title><link>https://www.chenshaowen.com/en/blog/custom-cluster-scheduler-to-optimize-tekton.html</link><pubDate>Wed, 26 Apr 2023 10:00:00 +0000</pubDate><atom:modified>Wed, 26 Apr 2023 10:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/custom-cluster-scheduler-to-optimize-tekton.html</guid><description>1. A Constrained Build Environment Cannot Meet Build Requirements Tekton is a CICD engine based on a Kubernetes cluster, and it is more cloud-native than Jenkins. In plain terms, that means it is easier to develop plugins for, easier to scale, easier to observe, and more fun.
Because code can only be stored on the company intranet, the build cluster can only be deployed on the office intranet.</description><dc:creator>微信公众号</dc:creator><category>Optimization</category><category>Tekton</category><category>CICD</category><category>DevOps</category><category>Kubernetes</category><category>Operations</category><category>Learning</category><category>Scheduling</category><category>Build</category><category>Multi-Cluster</category></item><item><title>Troubleshooting Slow IO When Building Images</title><link>https://www.chenshaowen.com/en/blog/troubleshoot-slow-io-when-building-dockerfile.html</link><pubDate>Thu, 02 Feb 2023 00:00:00 +0000</pubDate><atom:modified>Thu, 02 Feb 2023 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/troubleshoot-slow-io-when-building-dockerfile.html</guid><description>1. The Problem Project details:
File size 5.6 GB File count 529352 Dockerfile
1 2 3 FROM golang:1.13 COPY ./ /go/src/code The build command and its output are as follows:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 time DOCKER_BUILDKIT=1 docker build --no-cache -t test:v3 -f Dockerfile .</description><dc:creator>微信公众号</dc:creator><category>Docker</category><category>Images</category><category>CICD</category><category>Build</category><category>Troubleshooting</category><category>Operations</category></item><item><title>Tekton Pipelines Across Multiple Clusters</title><link>https://www.chenshaowen.com/en/blog/using-kubefed-to-distribute-tekton-resource-cross-cluster.html</link><pubDate>Sat, 26 Jun 2021 00:00:00 +0000</pubDate><atom:modified>Sat, 26 Jun 2021 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/using-kubefed-to-distribute-tekton-resource-cross-cluster.html</guid><description>1. The Advantages of Multi-Cluster Tekton Builds Thanks to Kubernetes, Tekton already has good elasticity and can support large-scale builds. At the same time, developing Tasks mainly uses Yaml and Shell, which widens the range of scenarios Tekton can adapt to.
The figure above is a sketch of Tekton across multiple clusters.</description><dc:creator>微信公众号</dc:creator><category>Tekton</category><category>KubeFed</category><category>Kubernetes</category><category>Multi-Cluster</category><category>CICD</category><category>Operations</category><category>Learning</category><category>Pipeline</category><category>Build</category><category>Distributed Systems</category></item><item><title>Building and Using Go Private Packages</title><link>https://www.chenshaowen.com/en/blog/building-and-using-go-private-packages.html</link><pubDate>Thu, 24 Jun 2021 00:00:00 +0000</pubDate><atom:modified>Thu, 24 Jun 2021 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/building-and-using-go-private-packages.html</guid><description>1. Create a Go Modules Project Create the directory 1 2 mkdir go-test cd go-test Initialize the package 1 2 3 4 5 go mod init gitlab.private.com/shaowenchen/go-test go: creating new go.mod: module gitlab.private.com/shaowenchen/go-test go: to add module requirements and sums: go mod tidy Add the business code main.go
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package main import ( &amp;#34;github.</description><dc:creator>微信公众号</dc:creator><category>Go</category><category>Getting Started</category><category>Build</category><category>R&amp;D</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>How to Build a Java Project</title><link>https://www.chenshaowen.com/en/blog/how-to-compile-a-java-project.html</link><pubDate>Fri, 20 Dec 2019 00:00:00 +0000</pubDate><atom:modified>Fri, 20 Dec 2019 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-compile-a-java-project.html</guid><description>First, the compiler needs to compile .java text files into .class bytecode, and then the JVM executes the .class bytecode files. The process is not complicated; this article mainly records some of the related steps during compilation and runtime. 1. A Single Source File Create a text file Hello.java 1</description><dc:creator>微信公众号</dc:creator><category>Java</category><category>Maven</category><category>Build</category><category>Tips</category><category>R&amp;D</category></item><item><title>Frontend Automated Build Tool gulpjs</title><link>https://www.chenshaowen.com/en/blog/front-auto-build-tools-gulp.html</link><pubDate>Tue, 28 Jun 2016 21:59:04 +0000</pubDate><atom:modified>Tue, 28 Jun 2016 21:59:04 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/front-auto-build-tools-gulp.html</guid><description>1. Frontend Automated Build Tools When dealing with frontend scenarios, you write CSS with Less, HTML with Jade, modularize with Browserify, and add MD5 hashes to resources for non-overwriting deployments. If all this work were done purely by hand, the efficiency would be extremely low. A frontend automated build tool</description><dc:creator>微信公众号</dc:creator><category>Frontend</category><category>gulp</category><category>Tools</category><category>R&amp;D</category><category>Build</category><category>Learning</category><category>Automation</category></item></channel></rss>