docker安装jenkins
首飞爱玩机器人 人气:0jenkins
是老牌的CI/CD
工具。下面记录一下在云服务器上的安装过程。
基于docker安装jenkins
下面记录了如何在云服务器上安装jenkins
。
新建一个jenkins_docker
文件夹,在文件夹里新建一个data
文件夹。并给data
文件夹读写权限。
chmod -R a+w data/
新建一个docker-compose.yml
文件。添加下面的内容:
version: "3.1" services: jenkins: image: jenkins/jenkins:2.332.3-lts container_name: jenkins ports: - 8080:8080 - 50000:50000 volumes: - ./data/:/var/jenkins_home/
注意,这里是将data
目录映射到了docker
环境里。
启动jenkins
容器
在文件夹内运行
docker-compose up -d
停止jenkins
容器
docker-compose down
更改jenkins
插件下载源
打开./data/hudson.model.UpdateCenter.xml
,替换下面的的内容。
# 修改数据卷中的hudson.model.UpdateCenter.xml文件 <?xml version='1.1' encoding='UTF-8'?> <sites> <site> <id>default</id> <url>https://updates.jenkins.io/update-center.json</url> </site> </sites> # 将下载地址替换为http://mirror.esuni.jp/jenkins/updates/update-center.json <?xml version='1.1' encoding='UTF-8'?> <sites> <site> <id>default</id> <url>http://mirror.esuni.jp/jenkins/updates/update-center.json</url> </site> </sites> # 清华大学的插件源也可以 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
查看运行log
docker logs -f jenkins
可以看到登录密钥
在浏览器中访问主机ip:8080
就可以看到jenkins
的登录页面。
设置jenkins的反向代理
总是用云服务器的公网IP加端口号去访问jenkins
,有些不方便了。我们可以使用nginx
的方向代理来对应一个域名。当然域名得先买一个了。
ubuntu20
安装nginx
(云服务器里安装的ubuntu20.04)
sudo apt update sudo apt install nginx
安装好后nginx
会自动启动,可以用下面的命令查询nginx
的状态
sudo systemctl status nginx
这时直接用浏览器访问服务器IP就可以看到nginx
的欢迎界面了。
修改nginx
的配置文件/etc/nginx/nginx.conf
。在http
下添加下面的内容。注意这里监听的端口是8080。
server { listen 8080; server_name jenkins.example.cn;[此处填写域名,可以加上jenkins以做区别] client_max_body_size 200M; location / { 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_pass http://xx.xx.xx.xx:xxx; #设置ip和端口 } location ~ .*\.(js|css|png)$ { proxy_pass http://xx.xx.xx.xx:xxx; #设置ip和端口 } }
记得在云服务器里放行相应的端口号。
设置域名解析
在购买域名后就可以使用DNSPod
工具设置域名解析了。
这里设置的jenkins
是域名的前缀,可以以此来区分不同的服务。记录值中填写服务器的公网IP。
OK完事。这时就可以在浏览器中用jenkins.域名
访问jenkins
服务了。
Jenkins
中文网址:https://www.jenkins.io/zh/
加载全部内容