天天看點

jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用

一.jenkins簡介

Jenkins是開源CI&CD軟體上司者, 提供超過1000個插件來支援建構、部署、自動化, 滿足任何項目的需要。

Jenkins用Java語言編寫,可在Tomcat等流行的servlet容器中運作,也可獨立運作。

CI(Continuous integration持續內建)持續內建強調開發人員送出了新代碼之後,立刻進行建構、(單元)測試

jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用

CD(Continuous Delivery持續傳遞) 是在持續內建的基礎上,将內建後的代碼部署到更貼近真實運作環境(類生産環境)中

jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用

二.jenkins安裝

官網下載下傳

清華鏡像站下載下傳

server2
yum install jdk-8u171-linux-x64.rpm jenkins-2.283-1.1.noarch.rpm -y  #解決依賴
systemctl start jenkins
vim /var/lib/jenkins/hudson.model.UpdateCenter.xml  #更新插件源
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
  </site>
</sites>

systemctl restart jenkins
通路: http://172.25.2.2:8080
使用初始密碼登入:cat /var/lib/jenkins/secrets/initialAdminPassword
安裝預設插件即可,使用admin使用者,登入後修改密碼
           
jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用
jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用
cd /var/lib/jenkins/updates  #更新插件下載下傳源
sed -i.bak 's/https:\/\/updates.jenkins.io\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json
sed -i 's/http:\/\/www.google.com/http:\/\/www.baidu.com/g' default.json
           
jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用
jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用

三.jenkins使用

server1  gitlab
vim index.html
git add index.html
git commit -m "add index"
git push origin master
           

(一)jenkins簡單使用,jenkins主動更新gitlab倉庫

1.建立一個自由風格任務:

jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用

2.源碼管理

jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用

3.添加通路git倉庫的私鑰

[[email protected] .ssh]# cat /root/.ssh/id_rsa

[[email protected] updates]# yum install git -y

jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用

4.定義輪詢間隔,有更新時觸發jinkens建構

jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用

5.建構選擇執行shell指令

Git送出代碼到gitlab,jinkens輪詢檢測到代碼倉庫的變更,觸發建構

jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用

6.控制台輸出

jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用

(二)gitlab自動觸發jenkins

1.添加gitlab插件

jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用

2.在jenkins即server2上建構觸發器,在gitlab即server1上的項目中建立內建設定

jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用
jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用
jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用
jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用

3.測試

jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用
jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用

(三)Jenkins自動建構docker鏡像,并上傳至harbor倉庫

server2
yum install docker-ce -y
systemctl enable --now docker
docker info 
sysctl -a | grep bridge-nf-call-iptables
vim /etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
sysctl --system

vim /etc/docker/daemon.json  #鏡像加速

docker pull nginx
docker pull registry  #拉取本地倉庫
docker run -d --name registry -p 5000:5000 -v /opt/registry:/var/lib/registry registry  #部署本地倉庫
ll /var/run/docker.sock
chmod 777 /var/run/docker.sock  #id jenkins,給予他權限
           
server1
vim Dockerfile  #鏡像建構清單
FROM nginx
COPY index.html /usr/share/nginx/html

git add Dockerfile
git commit -m "add Dockerfile"
git push origin master
           
jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用
jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用
jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用
jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用
jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用

當把編寫好的dockerfile送出至gitlab時,自動在jenkins中建構鏡像并上傳到registry倉庫

jenkins持續內建一.jenkins簡介二.jenkins安裝三.jenkins使用

繼續閱讀