如何配置jenkins网址以供团队在jenkins.HOST.com进行远程访问,以便他们可以看到仪表板

时间:2019-08-27 19:54:00

标签: jenkins github server jenkins-pipeline jenkins-plugins

我想设置Jenkins仪表板,以供工程师团队访问,以便我不是唯一管理它的人。理想情况下,团队中的任何人都可以在jenkins.HOST.com的浏览器中访问该URL,并将其定向到我创建的Jenkins仪表板。

我在配置中将jenkins url设置为jenkins.HOST.com,但是显然这还不够,我想避免使用nginx隧道传输到我的localhost:8080-但是如果这是最可行的选择,我可以这样做-我只是想知道是否有更好的方法。

我对使用Jenkins完全陌生,不胜感激!

1 个答案:

答案 0 :(得分:1)

如您所料,使用nginx作为代理可能是管理Jenkins URL的最佳方法。仅在配置中进行设置是行不通的; Jenkins仍将在配置的端口上监听。端口默认为8080,但您可以尝试将其更改为端口80。此文章(过时)提供了How to configure Jenkins to run on port 80的一些详细信息。

我一直使用nginx选项,它从未失败过。您甚至可以获得能够添加SSL证书的好处。我建议使用let's encrypt

这是我使用多年的配置,并使用您的jenkins.HOST.com URL更新。只需照常安装Jenkins,修复任何selinux问题(将其禁用或配置nginx的访问权限即可访问本地主机端口8080),就可以了!

upstream jenkins {
    server 127.0.0.1:8080;
}

server {
    listen 80 default_server;
    listen [::]:80;
    server_name jenkins.HOST.com;
    return 301 https://jenkins.HOST.com$request_uri;
}

server {
    listen 443 ssl default_server;
    listen [::]:443 ssl ipv6only=on;
    server_name jenkins.HOST.com;

    location / {
        proxy_pass       http://jenkins;
        proxy_set_header Host            $host;
        proxy_set_header X-Forwarded-For $remote_addr;
    }

    ssl_certificate     /etc/letsencrypt/live/jenkins.HOST.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/jenkins.HOST.com/privkey.pem;
    include             /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam         /etc/letsencrypt/ssl-dhparams.pem;
}