本文采用的是docker运行Nginx并反向代理Jenkins。nginx与docker。
nginx与Jenkins位于同一个内部网络“inet”。更详细的请参考“Docker Install Nginx & gitlab 绝对可行版本”
$docker network create inet
注意jenkins.local这个是内部网络Jenkins容器主机名。其它配置大路货不用细看
upstream docker_jenkins{
server jenkins.local:8080; <----这里
}
server{
listen 443 ssl;
server_name jks.i.smokelee.com;
sendfile on;
ssl_certificate /etc/nginx/certs/jks.i.smokelee.com.crt;
ssl_certificate_key /etc/nginx/certs/jks.i.smokelee.com.key;
location /{
proxy_pass http://docker_jenkins;
proxy_redirect http:// https://;
proxy_set_header Host $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;
}
}
这里参考了一篇文章但找不到出处了,有原创作者看到了可以联系我。兜里只有10块钱,可以请你包烟。
准备一个文件plugins.txt
#localization-zh-cn
localization-zh-cn:::https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/localization-zh-cn/latest/localization-zh-cn.hpi
编写Dockerfile
FROM jenkins:lts
COPY plugins.txt /usr/share/jenkins/ref/plugins.txt
RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/ref/plugins.txt
编译
$docker build -t jenkins-chn:lts .
docker run -d --restart=always --network inet \ # Docker自定义的内部网络
--network-alias jenkins.local --name jenkins -v /media/ext2/jenkins/:/var/jenkins_home --name jenkins jenkins-chn:lts
这里就是很多人加速效果不明显的地方了,清华的镜像,json文件中存放的仍然是官方的地址,所以这里进行替换!
Docker Install Nginx & Jenkins
原文:https://www.cnblogs.com/smokelee/p/12445477.html