持續(xù)集成(harbor jenkins gitlab k8s)

本文章僅作為個人筆記

文章 參考

  • 安裝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)完成
      
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市才写,隨后出現(xiàn)的幾起案子葡兑,更是在濱河造成了極大的恐慌,老刑警劉巖赞草,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件讹堤,死亡現(xiàn)場離奇詭異,居然都是意外死亡房资,警方通過查閱死者的電腦和手機蜕劝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進店門檀头,熙熙樓的掌柜王于貴愁眉苦臉地迎上來轰异,“玉大人岖沛,你說我怎么就攤上這事〈疃溃” “怎么了婴削?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長牙肝。 經(jīng)常有香客問我唉俗,道長,這世上最難降的妖魔是什么配椭? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任虫溜,我火速辦了婚禮,結(jié)果婚禮上股缸,老公的妹妹穿的比我還像新娘衡楞。我一直安慰自己,他們只是感情好敦姻,可當我...
    茶點故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布瘾境。 她就那樣靜靜地躺著,像睡著了一般镰惦。 火紅的嫁衣襯著肌膚如雪迷守。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天旺入,我揣著相機與錄音兑凿,去河邊找鬼。 笑死眨业,一個胖子當著我的面吹牛急膀,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播龄捡,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼卓嫂,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了聘殖?” 一聲冷哼從身側(cè)響起晨雳,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎奸腺,沒想到半個月后餐禁,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡突照,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年帮非,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡末盔,死狀恐怖筑舅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情陨舱,我是刑警寧澤魄鸦,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布垢箕,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏跪解。R本人自食惡果不足惜溅固,卻給世界環(huán)境...
    茶點故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一遇伞、第九天 我趴在偏房一處隱蔽的房頂上張望字旭。 院中可真熱鬧,春花似錦莺奔、人聲如沸畦娄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽熙卡。三九已至,卻和暖如春励饵,著一層夾襖步出監(jiān)牢的瞬間驳癌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工役听, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留颓鲜,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓典予,卻偏偏與公主長得像甜滨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子瘤袖,可洞房花燭夜當晚...
    茶點故事閱讀 43,492評論 2 348