前言
持續集成(Continuous Integration,CI)是軟件開發中的一種實踐,它旨在通過頻繁地集成代碼變更並自動運行測試,以確保代碼的質量和穩定性。Jenkins 是一個廣泛使用的開源持續集成工具,它能夠自動化構建、測試和部署軟件項目。在本文中,我們將使用 Docker 搭建一個基於 Jenkins 的持續集成平台。
環境準備
首先我們需要再Linux環境中安裝好docker,具體步驟可以參照之前寫過的教程如何在Ubuntu系統重安裝docker。
安裝好docker之後,我們需要對Java環境進行一下配置,在Jenkins 2.357 及 LTS 2.361.1之後的版本要求Java 11 或者 17,所以我們需要安裝好Java11或者Java17的環境。
Docker搭建Jenkins
- 拉取鏡像
Jenkins docker hub地址: https://hub.docker.com/r/jenkins/jenkins,拉取命令如下,將拉取Jenkins的最新版本鏡像
docker pull jenkins/jenkins
運行命令,如下所示:
[root@server /]# docker pull jenkins/jenkins
Using default tag: latest
latest: Pulling from jenkins/jenkins
3192219afd04: Already exists
17c160265e75: Already exists
cc4fe40d0e61: Already exists
9d647f502a07: Already exists
d108b8c498aa: Already exists
1bfe918b8aa5: Already exists
dafa1a7c0751: Already exists
c69d355c63ac: Pull complete
b15898bb1800: Pull complete
a51ccfc981f7: Pull complete
49f46bd4bf74: Pull complete
efa670fd97de: Pull complete
1565294bcba3: Pull complete
4c51bcfbed1e: Pull complete
49f4fafbfbf2: Pull complete
28a75541fa5f: Pull complete
c3c03c2d5564: Pull complete
ace64d1af7cf: Pull complete
f1960af3b8ab: Pull complete
6fd1a5a6d017: Pull complete
Digest: sha256:e4630b9084110ad05b4b51f5131d62161881216d60433d1f2074d522c3dcd6dc
Status: Downloaded newer image for jenkins/jenkins:latest
docker.io/jenkins/jenkins:latest
- 創建docker的文件映射卷
創建docker的文件影射卷,用於存儲數據,命令如下:
docker volume create jenkins_test
docker volume inspect jenkins_test
[
{
"CreatedAt": "2024-03-20T15:22:54+08:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/jenkins_test/_data",
"Name": "jenkins_test",
"Options": {},
"Scope": "local"
}
]
- 運行: 創建容器並運行
# 重新創建實例並設置時區
docker run --name=jenkins -d -p 8080:8080 -p 50000:50000 -v jenkins_test:/var/jenkins_home -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai jenkins/jenkins
運行命令,結果如下:
docker run --name=jenkins -d -p 8080:8080 -p 50000:50000 -v jenkins_test:/var/jenkins_home -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai jenkins/jenkins
1bcb5b04c8dda893cae47b25240140b0ab6976e728e022e38c4f9761ab37f170
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1bcb5b04c8dd jenkins/jenkins "/usr/bin/tini -- /u…" About a minute ago Up About a minute 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:50000->50000/tcp, :::50000->50000/tcp jenkins
成功啓動之後,我們可以通過瀏覽器來訪問Jenkins,輸入服務器IP地址+端口號即可,如下圖:
我們可以在日誌中找到Jenkins的初始密碼,如下:
docker logs -f jenkins
我們也可以通過下面的命令來查看Jenkins的初始密碼:
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
- 登錄配置Jenkins
我們輸入初始密碼之後,登錄可以開始配置我們的Jenkins了,首先我們可以安裝一些必要的插件,如下圖:
- 創建管理員用户
安裝完插件之後,我們需要創建Jenkins的管理員用户,如下圖:
- 配置Jenkins URL
配置成功之後,我們即可進入歡迎頁面,如下圖:
總結
本文主要介紹了使用docker搭建持續集成平台Jenkins的步驟,Jenkins是最常用的持續集成平台,對於我們測試開發的工作有很大的幫助,希望本文能夠幫到大家!