Jenkins Helm Charts 使用教程
helm-chartsJenkins helm charts项目地址:https://gitcode.com/gh_mirrors/helmcharts16/helm-charts
1. 项目的目录结构及介绍
Jenkins Helm Charts 项目的目录结构如下:
helm-charts/
├── charts/
│ ├── jenkins/
│ │ ├── Chart.yaml
│ │ ├── values.yaml
│ │ ├── templates/
│ │ │ ├── NOTES.txt
│ │ │ ├── _helpers.tpl
│ │ │ ├── deployment.yaml
│ │ │ ├── ingress.yaml
│ │ │ ├── service.yaml
│ │ │ ├── serviceaccount.yaml
│ │ │ └── tests/
│ │ │ └── test-config.yaml
│ │ └── README.md
│ └── ...
├── README.md
└── ...
目录结构介绍
charts/
: 包含所有 Helm Charts 的目录。jenkins/
: Jenkins 的 Helm Chart 目录。Chart.yaml
: 包含 Chart 的元数据,如名称、版本等。values.yaml
: 包含 Chart 的默认配置值。templates/
: 包含 Kubernetes 资源文件的模板。NOTES.txt
: 安装后显示的帮助信息。_helpers.tpl
: 包含模板助手函数。deployment.yaml
: Jenkins 的 Deployment 配置。ingress.yaml
: Jenkins 的 Ingress 配置。service.yaml
: Jenkins 的 Service 配置。serviceaccount.yaml
: Jenkins 的 ServiceAccount 配置。tests/
: 包含测试配置文件。
README.md
: Jenkins Chart 的详细说明文档。
2. 项目的启动文件介绍
Jenkins Helm Charts 的启动文件主要是 templates/deployment.yaml
。这个文件定义了 Jenkins 的 Deployment 配置,包括容器镜像、端口、环境变量等。
deployment.yaml
关键部分
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ template "jenkins.fullname" . }}
labels:
app.kubernetes.io/name: {{ template "jenkins.name" . }}
helm.sh/chart: {{ template "jenkins.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
replicas: {{ .Values.master.replicaCount }}
selector:
matchLabels:
app.kubernetes.io/name: {{ template "jenkins.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
template:
metadata:
labels:
app.kubernetes.io/name: {{ template "jenkins.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
spec:
serviceAccountName: {{ template "jenkins.serviceAccountName" . }}
securityContext:
{{- toYaml .Values.master.securityContext | nindent 8 }}
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.master.containerSecurityContext | nindent 12 }}
image: "{{ .Values.master.image.repository }}:{{ .Values.master.image.tag }}"
imagePullPolicy: {{ .Values.master.image.pullPolicy }}
ports:
- name: http
containerPort: 8080
protocol: TCP
- name: jnlp
containerPort: 50000
protocol: TCP
env:
{{- toYaml .Values.master.env | nindent 12 }}
livenessProbe:
httpGet:
path: {{ .Values.master.jenkinsUriPrefix }}/login
port: http
readinessProbe:
httpGet:
path: {{ .Values.master.jenkinsUriPrefix }}/login
port: http
resources:
{{- toYaml .Values.master.resources | nindent 12 }}
3. 项目的配置文件介绍
Jenkins Helm Charts 的配置文件主要是 values.yaml
。这个文件包含了 Jenkins 的所有默认配置
helm-chartsJenkins helm charts项目地址:https://gitcode.com/gh_mirrors/helmcharts16/helm-charts