环境准备

1. Jenkins环境部署

安装必要依赖

# 安装字体依赖
apt -y install fontconfig

# 安装JDK 17
自己找安装包然后解压到
jdk-17_linux-x64_bin.tar.gz -C /usr/local/

# 配置环境变量
cat > /etc/profile.d/jdk.sh << EOF
#!/bin/bash
export JAVA_HOME=/usr/local/jdk-17.0.8
export PATH=\$PATH:\$JAVA_HOME/bin
EOF

source /etc/profile.d/jdk.sh

安装Jenkins根据要求安装版本安装插件

Gitee代码仓库配置

SSH密钥认证

# 生成SSH密钥对
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa -q

# 查看公钥
cat ~/.ssh/id_rsa.pub

将公钥添加到Gitee的SSH密钥设置中,实现免密代码拉取。

Jenkins节点配置kubectl

安装kubectl

wget http://192.168.16.253/Resources/Kubernetes/Project/DevOps/Jenkins/kubectl-1.23.17
mv kubectl-1.23.17 /usr/local/bin/kubectl
chmod +x /usr/local/bin/kubectl

# 配置kubeconfig
mkdir -p .kube
把k8s集群master节点的~/.kube/conf文件复制过来

Jenkins流水线配置

参数化构建

优点:

  1. 灵活性:允许在构建时动态传入参数,适应不同的构建需求(如选择不同环境、版本、配置等)。

  2. 可配置性:通过参数化,同一个流水线可以处理多种场景,减少重复创建类似任务的工作量。

  3. 可控性:可以设置人工审批环节,通过参数选择执行不同的操作(如部署、回滚等),增加流程的控制力。

  4. 审计与合规:可以记录每次构建的参数,便于审计和追踪,例如填写部署原因、关联工单等。

  5. 版本管理:支持版本号的动态传入,便于版本控制和发布策略。

缺点:

  1. 复杂性:参数化构建可能会增加流水线脚本的复杂性,需要更多的逻辑来处理参数。

  2. 安全性:如果参数处理不当,可能会引入安全风险,例如通过参数注入恶意命令。

  3. 维护成本:参数越多,维护和理解流水线的难度可能增加。

  4. 错误配置:参数选择不当可能导致构建失败或部署到错误的环境。

1. 配置参数

2. 选择拉取仓库地址

gitee为例找到仓库点击下载

复制即可

最后编写构建脚本即可

运行Jenkins即可看见版本,可根据版本选择发布

Jenkins配置钉钉看一章 https://www.disb.xyz/archives/jenkinspei-zhi-ding-ding-ji-qi-ren-tong-zhi

Q.E.D.