多架构下的 Docker 镜像
· ☕ 3 分钟
1. 开启 Docker 的 experimental 特性 这里先开启 Docker 的 experimental 特性,方便下文使用相关命令。 编辑文件 vim ~/.docker/config.json ,增加如下内容: 1 2 3 4 { "experimental": "enabled", "debug": true } 注意,这里不是 /etc/docker/daemon.json 文件,也不需要重启 Docker 。 2. Docker 镜像 从 Docker 1.10 、 Registry 2.3 开始,Docker 引入了 manifest 用于描述镜像的元数据。 2.1 Dockerfile 如何转换成镜像 如上图,

CentOS 7 安装 Java 开发环境
· ☕ 1 分钟
1. 编译报错:java.nio.file.NoSuchFileException 在编译 Jenkins 插件时,提示错误信息如下: 1 2 3 4 mvn package Compilation failure [ERROR] java.nio.file.NoSuchFileException: /root/java/target/classes/META-INF/annotations/hudson.Extension 原来 Maven 使用的是 JAVA_HOME 而不是 PATH,找不到 Java 运行环境导致,而且 Java 11 不行,Java 1.8 才能正常编译。 2. 安装 JDK 安装 Java

DevOps 精要:业务视角
· ☕ 1 分钟
作者:(俄)奥列格·斯克伦尼科(Oleg Skrynnik) 出版社: 清华大学出版社 出版年: 2020-05-01 ISBN: 9787302547143 Notes: 内容如题,书中主要阐述了业务视角中的 DevOps 。从起源到基础,从原则到实践,你都可以从中有所收获。DevOps 的基础是精益生产(丰田流水线)和敏捷开发,

Jenkins 中 Lightweight 拉取代码问题分析
· ☕ 3 分钟
1. 遇到了什么问题 Jenkins 执行日志报错: 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 '.git/index.lock': File exists. 原因分析: 简单介绍一下 Jenkins 的部署情况,Jenkins 使用 Helm Chart 部署在 Kubernetes,使用 Kubernetes 动态 Pod 进行构建。Jenkins 的 /var/jenkins_home 挂载到 PV

Jenkins 中的构建产物与缓存
· ☕ 3 分钟
在 CICD 的流程中,需要保存的产物主要有两类,构建产物和缓存。构建产物是最终的执行结果,缓存是为了优化下一次的构建速度。本篇主要描述的是在 Jenkins 中如何对构建产物和缓存进行归档,并结合对象存储进行实践。有部分示例使用的是 在 Kubernetes 上动态创建 Jenkins Slave 进行构建,配置