本文章僅作為個人筆記
文章 參考
-
安裝jenkins (下面列出多種方式柒桑,選一種即可)
-
jenkins docker下安裝 占用8080/50000端口
docker run -p 8180:8080 -p 50000:50000 --name jenkins -d jenkins/jenkins
-
yum安裝jenkins
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key yum install jenkins
-
war安裝jenkins
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.253/jenkins.war # 運行jenkins,可自己指定端口 java -jar jenkins.war --httpPort=8080 # 如果安裝的插件比較多训桶,可更改為國內(nèi)倉庫: https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
-
安裝好進行一些必要的操作
# 查看jenkins初始登錄密碼(docker logs jenkins基本可搞定二打,下面的cat為容器內(nèi)執(zhí)行建炫,為特殊情況下使用) # cat /var/jenkins_home/secrets/initialAdminPassword # 安裝必要的插件(很多插件基本在初始化時已經(jīng)裝好了) Kubernetes/GitLab
基本工具創(chuàng)建完畢酌儒,開始進行項目相關(guān)配置( gitlab + jenkins )
-
jenkins服務器內(nèi)運行
# 如果已經(jīng)有key可以不用做這一步 ssh-keygen # 輸出的值為公鑰 cat ~/.ssh/id_rsa.pub # 輸出的值為私鑰 cat ~/.ssh/id_rsa
-
git gui 操作
# 提交項目至git # 添加git下jenkins用戶 # 為jenkins用戶添加相應項目Developer權(quán)限 # 為jenkins用戶添加jenkins服務器的key(公鑰) # 為jenkins用戶創(chuàng)建Access Token(勾選api/read_user/red_repository/write_repository)并復制
-
jenkins gui 操作
# 配置gitlab(Manage Jenkins->Configure System -> 配置->Gitlab) # Gitlab host URL 填寫gitlab訪問地址 Credentials 選擇新建阅羹,類型選擇GitLab API token # API token填之前git復制的Access Token间校,新增之后Credentials選擇新建的Credentials矾克,Test Connection沒有問題選擇保存。 # 配置 Git plugin(Manage Jenkins->Configure System -> 配置->Git plugin) # 設置默認用戶名及郵箱后保存
-
harbor gui 操作
# 創(chuàng)建jenkins用戶 # 創(chuàng)建項目 # 為項目添加jenkins用戶為開發(fā)人員
-
-
測試
-
配置完 git/jenkins/harbor在Jenkins管理頁面創(chuàng)建任務,起個名字憔足,選擇Freestyle project胁附。
# 源碼管理選擇git酒繁,輸入git地址(注意使用 git@git....那個地址),在Credentials添加jenkins # 選擇SSH Username with private key # Username使用jenkins控妻,選擇Private Key->Enter direcily,輸入之前jenkins容器獲取的私鑰州袒,選擇添加 # 先應用,再選擇構(gòu)建觸發(fā)器饼暑,勾選Poll SCM稳析,輸入 H/1 * * * * 再應用(每分鐘檢測一次) # 選擇 構(gòu)建,添加構(gòu)建步驟弓叛,選擇 Execute shell彰居,Execute shell 輸入 \cp -r $WORKSPACE /tmp/temp # 此處的 \cp -r $WORKSPACE /tmp/temp 為復制代碼至 /tmp/temp目錄 # 點擊保存,再點擊立即構(gòu)建撰筷,查看 /tmp/temp 目錄是否存在代碼陈惰,即可測試配置是否ok。
-
gitlab + jenkins 集成完畢毕籽,繼續(xù) k8s + jenkins
# Manage Jenkins -> Configure System -> Cloud -> add a new Cloud -> Kubernets # Kubernets Cloud details -> # 名稱自定義 地址: https://<ip>:6443 服務器證書key: 具體參考參考 # kubenetes 命名空間: default # 憑據(jù)-> 添加:具體參考參考
-
配置完 git/jenkins/harbor在Jenkins管理頁面創(chuàng)建任務,起個名字抬闯,選擇流水線,復制hookurl 參考
# 源碼管理選擇git,輸入git地址(注意使用 git@git....那個地址)关筒,在Credentials添加jenkins # 選擇SSH Username with private key # Username使用jenkins溶握,選擇Private Key->Enter direcily,輸入之前jenkins容器獲取的私鑰,選擇添加 # 先應用蒸播,再選擇構(gòu)建觸發(fā)器睡榆,勾選 Build when a change is....,使用默認勾中項或自定義 # Rebuild open Merge Requests 設置 On push to source branch # 點擊高級,點擊生成Secret token袍榆,并復制 # 選擇 構(gòu)建胀屿,添加構(gòu)建步驟,選擇 Excute shell # 輸入構(gòu)建命令 chmod +x ./gradlew ./gradlew build makeMYSjar docker build -t dm . docker tag <project_name> <host>:<port>/<library>/<project_name>:<version> docker login <host>:<port> docker push <host>:<port>/<library>/<project_name>:<version> kubectl apply -f /service/temp.yaml --record
-
git gui 操作 Admin Area-> System Hooks
# URL輸入之前流水線生成的的hookUrl包雀,以及token宿崭。至此webhook關(guān)聯(lián)完成
-