首頁 > 軟體

在雲伺服器上基於docker安裝jenkins的實現步驟

2022-07-12 22:06:21

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內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com