Jenkins mit nginx als Proxy benutzen

Jenkins ist heutzutage das Mittel der Wahl wenn es um CI geht. Nutzt man bereits gitlab-omnibus mit integriertem nginx, dann ist es sinnvoll auch den Zugriff auf Jenkins damit zu realisieren. Damit das funktioniert sind einige Schritte notwendig. Zunächst teilen wir dem gitlab-nginx mit, daß wir den Zugriff auf Jenkins via Proxy unter https://gitlab.url/jenkins/ ermöglichen wollen:

$ sudo vim /etc/gitlab/gitlab.rb


[...]
nginx['custom_gitlab_server_config'] = "location ^~ /jenkins/ {\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\nproxy_set_header Host $http_host;\nproxy_redirect off;\nproxy_set_header X-Forwarded-Proto https;\nproxy_pass http://jenkins_server;\n}\n"
nginx['custom_nginx_config'] = "include /etc/nginx/conf.d/*.conf;"

Anschließend den Zugangspunkt für Jenkins eigenen Webserver erstellen:

$ sudo mkdir -p /etc/nginx/conf.d && sudo vim /etc/nginx/conf.d/jenkins.conf


upstream jenkins_server {
        server 127.0.0.1:8081 fail_timeout=0;
}

Danach den Port + Prefix für Jenkins definieren:

$ sudo vim /etc/default/jenkins


HTTP_PORT=8081
JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT --prefix=$PREFIX"

Und Jenkins noch mitteilen wie seine neue Adresse lautet:

$ sudo vim /var/lib/jenkins/jenkins.model.JenkinsLocationConfiguration.xml


<?xml version='1.0' encoding='UTF-8'?>
<jenkins.model.JenkinsLocationConfiguration>
  <adminAddress>Adresse nicht konfiguriert &lt;nobody@nowhere&gt;</adminAddress>
  <jenkinsUrl>https://gitlab.url/jenkins/</jenkinsUrl>
</jenkins.model.JenkinsLocationConfiguration>

Und zum Schluß alles noch neu starten, dann ist Jenkins unter https://gitlab.url/jenkins/ erreichbar.

$ sudo gitlab-ctl reconfigure && sudo gitlab-ctl restart nginx && sudo service jenkins restart

Getagged mit: , , ,
Ein Kommentar zu “Jenkins mit nginx als Proxy benutzen
  1. 192.168.0.1 sagt:

    Ich danke Ihnen für die Information! Ich war auf der Suche nach und konnte nicht finden. Du hast mir geholfen!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.