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: , , ,
2 Kommentare zu “Jenkins mit nginx als Proxy benutzen
  1. To do this, you need to perform some steps that are very clearly described in your article and this should not cause problems.

  2. Thanks for the submitted instruction! These steps are easy to follow, as well as the whole procedure can be seamlessly performed!

Schreibe einen Kommentar

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