Jenkins官網
# 官網: https://www.jenkins.io
https://www.jenkins.io/zh/ # docker安裝: https://www.jenkins.io/doc/book/installing/docker/ # yum安裝: https://www.jenkins.io/download/
環境軟硬件要求
# 最低硬件要求 256 MB內存 1 GB的驅動器空間(如果將Jenkins作為Docker容器運行,則建議至少使用10 GB的驅動器空間) # 小型團隊的推薦硬件配置: 4 GB+內存 50 GB以上的驅動器空間
正式環境中對內存和讀寫頻率要求很高 # 軟件要求 推薦使用Java11 yum install java-11-openjdk* docker版本可以參見官網docker的方式安裝
docker方式安裝
# docker環境安裝 yum install -y docker-ce docker-compose [root@node1 ~]# docker version Client: Docker Engine - Community Version: 20.10.11 API version: 1.41 Go version: go1.16.9 Git commit: dea9396 Built: Thu Nov 18 00:38:53 2021 OS/Arch: linux/amd64 Context: default Experimental: true
[root@node1 ~]# docker-compose -v
docker-compose version 1.18.0, build 8dd22a9
# 需要3個鏡像包
gitlab-ce
jenkins
sonarqube
# 安裝運行 docker pull jenkins/jenkins:lts mkdir -p /var/jenkins_home chmod 777 /var/jenkins_home # jenkins在容器中的目錄/var/jenkins_home docker run -it -v /var/jenkins_home:/var/jenkins_home -p 8888:8080 -p 50000:50000 -p 45000:45000 --name=myjenkins jenkins/jenkins:lts docker stop myjenkins
docker start myjenkins
查看啟動日志:docker logs myjenkins # 時間不同步,可以將容器外的拷貝到容器內 docker cp /usr/share/zoneinfo/Asia/Shanghai myjenkins:/etc/localtime # 容器內網絡不通 2021-12-04 12:33:38.768+0000 [id=29] WARNING hudson.model.UpdateCenter#updateDefaultSite: Upgrading Jenkins. Failed to update the default Update Site 'default'. Plugin upgrades may fail. java.net.UnknownHostException: updates.jenkins.io # 兩種原因: jenkins@044f24ab0969:~$ cat hudson.model.UpdateCenter.xml <?xml version='1.1' encoding='UTF-8'?> <sites> <site> <id>default</id> <url>https://mirrors.aliyun.com/jenkins/updates/stable/update-center.json</url> </site> 第一種是:https://mirrors.aliyun.com/jenkins/updates/stable/update-center.json不能打開,需要替換URL 第二種是:確實不能訪問,需要重啟docker systemctl restart docker
# 之后與yum安裝的圖形化界面相同
基於centos環境部署:yum安裝
# jenkins安裝 https://mirrors.aliyun.com/jenkins/redhat-stable/jenkins-2.319.1-1.1.noarch.rpm yum install daemonize -y rpm -ivh jenkins-2.319.1-1.1.noarch.rpm systemctl start jenkins
安裝后配置
# 1.訪問鏈接 # 端口配置地址:/etc/sysconfig/jenkins
JENKINS_USER="root" ,用戶修改,使用jenkins用戶之后執行命令會報錯,權限問題
可以獲得幾個重要配置項目信息
JENKINS_HOME="/var/lib/jenkins"
,存放jenkins 配置及工作文件JENKINS_PORT="8080"
,jenkins默認8080端口
http://IP:8080 當您第一次訪問Jenkins的時候,系統會要求您使用自動生成的密碼對其進行解鎖。 解鎖秘鑰可以通過$JENKINS_HOME/secrets/initialAdminPassword文件獲取。還可以通過在啟動日志中獲取 # 2.自定義插件安裝 如果不確定要安裝那些的時候可以選擇此選項,靈活的自定義安裝. 插件安裝多了也沒關系,可以后面再jenkins插件管理頁面刪除,但是搭建速度比較慢.
# 3.創建第一個管理員賬戶,之后一路完成
插件安裝
以下這兩個網站是Jenkins所有的插件及說明
Jenkins Plugins https://plugins.jenkins.io
Jinkins Plugins Wiki https://wiki.jenkins.io
1.安裝漢化插件: Manage Jenkins--->Manage Plugins--->Avilable:Localization:chinese(Simplified)
2.用戶管理-新建用戶和刪除用戶:Manage Jenkins--->Manager User
3.項目構建、
在linux 服務器上可以看到這個項目/var/lib/jenkins/jobs/Test,如果在面板上將Test項目改名,但是linux服務器上的目錄里的Test目錄並不會刪除
docker安裝gitlab
docker pull gitlab/gitlab-ce
docker run -it -p 8880:80 -p 8222:22 -v /usr/local/gitlab/etc:/etc/gitlab -v /usr/local/gitlab/log:/var/log/gitlab -v /usr/local/gitlab/opt:/var/opt/gitlab --restart always --privileged=true --name=mygitlab gitlab/gitlab-ce:latest
docker stop mygitlab
docker start mygitlab
--hostname gitlab.example.com: 設置主機名或域名(暫未設置)
-v --volume /usr/local/gitlab/etc:/etc/gitlab 掛載目錄
--name mygitlab: 運行容器名
--restart always: 自動重啟
--privileged=true 使得容器內的root擁有真正的root權限。否則,container內的root只是外部的一個普通用戶權限
登錄鏡像:
docker exec -it mygitlab /bin/bash
# 修改配置
vi /usr/local/gitlab/etc/gitlab.rb
external_url 'http://192.168.0.112'
gitlab_rails['gitlab_ssh_host'] = '192.168.0.112'
gitlab_rails['gitlab_shell_ssh_port'] = 8222
# 讓配置生效
gitlab-ctl reconfigure
# 修改http和ssh配置 vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
host: 192.168.0.112
port: 8880 # 默認是80,需要修改,否則會報502
https: false
# 修改完成后重啟並退出
gitlab-ctl restart
http://192.168.0.112:8880 # 輸入賬號密碼,如果不記得請重置 # 進入容器內部 docker exec -it gitlab /bin/bash # 進入控制台 gitlab-rails console -e production # 查詢id為1的用戶,id為1的用戶是超級管理員 user = User.where(id:1).first # 修改密碼為lqz123456 user.password='lqz123456' # 保存 user.save! # 退出 exit
在設置里面設置為中文,重新登錄后在菜單中新建一個項目
Jenkins常用功能
系統管理--插件管理
部分插件安裝無需重啟Jenkins
刪除插件並不會立即生效
最佳實踐:僅選擇必要的插件,否則會影響Jenkins加載速度
插件中如果可以用沒必要升級的請不要升級,如果需要升級請先在備用jenkins上進行測試
系統管理--節點管理---新建節點
1.輸入節點名稱,勾選固定節點,並確定;



添加第二個節點的時候,可以復制salve1的節點,修改下主機IP和添加按鈕的賬號密碼或者改成ssh信任的key模式
2.將節點用起來
創建任務的時候有一個:限制項目運行的節點--填寫標簽
節點比較多的話,需要安裝插件Node and Label parameter
3.Source Code Management
Git Svn 其它80+插件支持其它SCM系統
Git--全局配置
build node 上安裝 git tool
global tool configuration配置
執行后可以查看輸出