在雲服務器上基於docker安裝jenkins的實現步驟
jenkins
是老牌的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/
到此這篇關於在雲服務器上基於docker安裝jenkins的實現步驟的文章就介紹到這瞭,更多相關docker安裝jenkins內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Docker Compose的安裝和使用步驟
- 基於Docker、Nginx和Jenkins實現前端自動化部署
- 關於Jenkins + Docker + ASP.NET Core自動化部署的問題(避免踩坑)
- Linux環境下使用Docker搭建Jenkins容器的方法步驟
- docker-compose安裝yml文件配置方式