nginx ingress Jenkins path rewrite configuration not working nginx ingress Jenkins path rewrite configuration not working jenkins jenkins

nginx ingress Jenkins path rewrite configuration not working


This is how I solved it configuring the Jenkins image context path without the need to use the ingress rewrite annotations:

kind: Deploymentmetadata:  creationTimestamp: null  labels:    app: jenkins  name: jenkinsspec:  replicas: 1  selector:    matchLabels:      app: jenkins  strategy: {}  template:    metadata:      creationTimestamp: null      labels:        app: jenkins    spec:      securityContext:        fsGroup: 2000        runAsUser: 1000        runAsNonRoot: true      volumes:      - name: jenkins-storage        persistentVolumeClaim:          claimName: jenkins      containers:      - image: jenkins/jenkins:lts        name: jenkins        ports:        - containerPort: 8080          name: "http-server"        - containerPort: 50000          name: "jnlp"        resources: {}        env:        - name: JENKINS_OPTS          value: --prefix=/jenkins        volumeMounts:        - mountPath: "/var/jenkins_home"          name: jenkins-storagestatus: {}

Ingress:

apiVersion: extensions/v1beta1kind: Ingressmetadata:  name: prfl-apps-devops-ingress  annotations:    kubernetes.io/ingress.class: nginx    nginx.ingress.kubernetes.io/ssl-redirect: "false"    nginx.ingress.kubernetes.io/add-base-url: "true"spec:  rules:  - http:      paths:      - path: /jenkins        backend:          serviceName: jenkins          servicePort: 8080


I'm using the JenkinsCI Helm chart (jenkinsci/jenkins), and @codependent's answer set me on the right track.

The base uri can be set during a helm install or helm upgrade:

helm install jenkins jenkinsci/jenkins --set controller.jenkinsUriPrefix='/jenkins'

or, if you've already installed Jenkins:

helm upgrade jenkins jenkinsci/jenkins --set controller.jenkinsUriPrefix='/jenkins'