1.背景

  k8s配置文件中,由于每次构建镜像的版本都会变,所以image后的version每次都要修改,所以最后设置成动态的形式的。

2.配置文件

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: app
        image: app:$VERSION
        ports:
        - containerPort: 80

当通过jenkins构建时可以通过全局环境变量,BUILD_ID来作为版本

sh 'version = $BUILD_ID && envsubst < deployment.yaml | kubectl apply -f -'