sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \
https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc]" \
https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt-get update
sudo apt-get install jenkins
设置nginx反向代理通过/jenkins访问
# Required for Jenkins websocket agents
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
...
location /jenkins {
proxy_pass http://localhost:8080;
proxy_redirect default;
proxy_http_version 1.1;
# Required for Jenkins websocket agents
proxy_set_header Connection $connection_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_max_temp_file_size 0;
#this is the maximum upload size
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_request_buffering off; # Required for HTTP CLI commands
}
}
需要修改jenkins的配置,指定prefix为jenkins,方法如下
systemctl edit jenkins
# 在其中添加
[Service]
Environment="JENKINS_PREFIX=/jenkins"
然后执行systemctl daemon-reload
然后通过http://youdomain/jenkins就能访问jenkins了,不过在jenkins的欢迎界面我等了很久都没有任何变化,直觉告诉我我又踩坑了。我执行systemctl status jenkins,结果是
● jenkins.service - Jenkins Continuous Integration Server
Loaded: loaded (/lib/systemd/system/jenkins.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/jenkins.service.d
└─override.conf
Active: activating (start) since Thu 2024-08-22 13:50:53 CST; 2min 37s ago
Main PID: 181489 (java)
Tasks: 51 (limit: 9403)
Memory: 195.7M
CPU: 12.107s
CGroup: /system.slice/jenkins.service
└─181489 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080 --prefix=/jenkins
一直是activating状态。在jenkins的文档中不经意看到了配置timeout的方法,我猜测大概是jenkins启动过程有点长,而默认默认启动时间15s比较短,导致不断重启。按照刚才的方法systemctl edit jenkins,索性给大点
TimeoutStartSec=900
然后systemctl daemon-reload。经过漫长的等待终于成功进入下一个界面,输入password继续往下。我怀疑之所以启动时间长,有可能是jenkins发送了请求,而这可怜的网络导致了返回巨慢(纯猜测)。
来个截图

发表回复