在雲服務器上基於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!

推薦閱讀: