簡單概括一下什么是Jenkins
jenkins是一個可擴展的持續集成引擎,主要用於持續、自動地構建/測試軟件項目、 監控一些定時執行的任務。
通俗一點講就是我們把項目編寫完成之后,Jenkins可以自動幫我們測試並部署項目,讓程序員只需要專注實現業務即可
准備工作
- 一台Centos服務器,【內核盡量在centos7以上】
- 需要外網支持【因為需要和Git交互】
步驟
- 安裝Docker
- 拉取和運行Jenkins服務
- 准備Gitee賬號 【Github/Gitlab均可,這里主要是Gitee在國內,網速會快一些,並且使用的群體比較大】
Docker安裝【若已安裝可跳過此步驟】
查看centos版本
cat /etc/redhat-release
卸載舊的版本
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安裝基本環境
$ sudo yum install -y yum-utils
設置鏡像的倉庫
sudo yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新軟件包
yum makecache fast
安裝docker
yum install docker-ce docker-ce-cli containerd.io # docker-ce 社區版 ee 企業版
注意這里會有幾個個y/n的判斷,輸入y,等待安裝即可
檢查Docker版本
docker version
安裝Jenkins
拉取Jenkins鏡像(新版本名稱固定為jenkins/jenkins,需要注意)
docker pull jenkins/jenkins
運行Jenkins
docker run -d -p 8888:8080 -p 8889:50000 -v /var/jenkins_mount:/var/jenkins_home -v /etc/localtime:/etc/localtime --privileged=true --name myjenkins jenkins/jenkins
參數說明:
-d 后台運行鏡像
-p 8888:8080 將鏡像的8080端口映射到服務器的8888端口。
-p 8889:50000 將鏡像的50000端口映射到服務器的8889d端口
-v /var/jenkins_mount:/var/jenkins_mount /var/jenkins_home目錄為容器jenkins工作目錄,我們將硬盤上的一個目錄掛載到這個位置,類似於MVVM,雙向綁定,方便在外部操作文件
-v /etc/localtime:/etc/localtime讓容器使用和服務器同樣的時間設置
–name myjenkins 給容器起一個別名
運行結果
登錄並配置Jenkins需要的組件
訪問8888端口,顯示需要管理員密碼
查看管理員密碼
查看鏡像日志
docker logs 容器id
拷貝密碼,登錄Jenkins
網絡問題,插件安裝會比較慢,我們先取消,后面手動安裝
配置鏡像加速
修改/var/jenkins_mount/hudson.model.UpdateCenter.xml里的內容
vi /var/jenkins_mount/hudson.model.UpdateCenter.xml
將 url 修改為 清華大學官方鏡像:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
更改密碼(可選)
找到選項中的Password
回到主界面,安裝插件
安裝中文插件【Localization: Chinese (Simplified)】
安裝碼雲gitee插件(Gitee)
安裝碼雲ssh插件(Publish Over SSH)
重啟jekins服務(不重啟的話,主界面會顯示一半中文,一半英文)
docker restart 容器id
重啟之后的效果
若此時還是顯示英文,並且已經安裝了Localization: Chinese (Simplified),則是因為瀏覽器默認輸入法為英文導致,改成中文即可,以谷歌瀏覽器為例
- 在瀏覽器中輸入: chrome://settings/
- 在搜索框中輸入 語言
- 把中文移至第一個即可
對接Gitee(重點)
生成馬雲私人令牌
進入設置進入設置
在最左邊找到私人令牌在最左邊找到私人令牌
點擊生成新令牌點擊生成新令牌