在云服務(wù)器上基于docker安裝jenkins的實(shí)現(xiàn)步驟
jenkins是老牌的CI/CD工具。下面記錄一下在云服務(wù)器上的安裝過(guò)程。
基于docker安裝jenkins
下面記錄了如何在云服務(wù)器上安裝jenkins。
新建一個(gè)jenkins_docker文件夾,在文件夾里新建一個(gè)data文件夾。并給data文件夾讀寫權(quán)限。
chmod -R a+w data/
新建一個(gè)docker-compose.yml文件。添加下面的內(nèi)容:
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環(huán)境里。
啟動(dòng)jenkins容器
在文件夾內(nèi)運(yùn)行
docker-compose up -d
停止jenkins容器
docker-compose down
更改jenkins插件下載源
打開./data/hudson.model.UpdateCenter.xml,替換下面的的內(nèi)容。
# 修改數(shù)據(jù)卷中的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>
# 清華大學(xué)的插件源也可以
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
查看運(yùn)行log
docker logs -f jenkins
可以看到登錄密鑰

在瀏覽器中訪問主機(jī)ip:8080就可以看到jenkins的登錄頁(yè)面。

設(shè)置jenkins的反向代理
總是用云服務(wù)器的公網(wǎng)IP加端口號(hào)去訪問jenkins,有些不方便了。我們可以使用nginx的方向代理來(lái)對(duì)應(yīng)一個(gè)域名。當(dāng)然域名得先買一個(gè)了。
ubuntu20安裝nginx (云服務(wù)器里安裝的ubuntu20.04)
sudo apt update sudo apt install nginx
安裝好后nginx會(huì)自動(dòng)啟動(dòng),可以用下面的命令查詢nginx的狀態(tài)
sudo systemctl status nginx
這時(shí)直接用瀏覽器訪問服務(wù)器IP就可以看到nginx的歡迎界面了。

修改nginx的配置文件/etc/nginx/nginx.conf。在http下添加下面的內(nèi)容。注意這里監(jiān)聽的端口是8080。
server {
listen 8080;
server_name jenkins.example.cn;[此處填寫域名,可以加上jenkins以做區(qū)別]
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; #設(shè)置ip和端口
}
location ~ .*\.(js|css|png)$ {
proxy_pass http://xx.xx.xx.xx:xxx; #設(shè)置ip和端口
}
}
記得在云服務(wù)器里放行相應(yīng)的端口號(hào)。

設(shè)置域名解析
在購(gòu)買域名后就可以使用DNSPod工具設(shè)置域名解析了。

這里設(shè)置的jenkins是域名的前綴,可以以此來(lái)區(qū)分不同的服務(wù)。記錄值中填寫服務(wù)器的公網(wǎng)IP。
OK完事。這時(shí)就可以在瀏覽器中用jenkins.域名訪問jenkins服務(wù)了。
Jenkins中文網(wǎng)址:https://www.jenkins.io/zh/
到此這篇關(guān)于在云服務(wù)器上基于docker安裝jenkins的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)docker安裝jenkins內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Docker中安裝Oracle數(shù)據(jù)庫(kù)超詳細(xì)步驟
oracle作為全球最強(qiáng)大的關(guān)系型數(shù)據(jù)庫(kù),應(yīng)用在各行各業(yè),下面這篇文章主要給大家介紹了關(guān)于在Docker中安裝Oracle數(shù)據(jù)庫(kù)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01
Docker部署項(xiàng)目完全使用指南(小結(jié))
本文主要介紹了Docker部署項(xiàng)目完全使用指南,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03
docker部署mysql 實(shí)現(xiàn)遠(yuǎn)程連接的示例代碼
這篇文章主要介紹了docker部署mysql 實(shí)現(xiàn)遠(yuǎn)程連接的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
docker 學(xué)習(xí)筆記之docker連接網(wǎng)絡(luò)的設(shè)置
本篇文章主要介紹了docker 學(xué)習(xí)筆記之docker連接網(wǎng)絡(luò)的設(shè)置 ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
IDEA中進(jìn)行Docker項(xiàng)目部署的實(shí)現(xiàn)步驟
這篇文章主要介紹了IDEA中進(jìn)行Docker項(xiàng)目部署的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
docker如何進(jìn)入啟動(dòng)容器查看內(nèi)部目錄結(jié)構(gòu)
這篇文章主要介紹了docker如何進(jìn)入啟動(dòng)容器查看內(nèi)部目錄結(jié)構(gòu)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
使用docker部署django技術(shù)棧項(xiàng)目的方法步驟
這篇文章主要介紹了使用docker部署django技術(shù)棧項(xiàng)目的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09

