<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Loading

      Jenkins集成GitLab的正確姿勢,實現(xiàn)Git代碼提交觸發(fā)CI/CD

      ?

      jenkins和gitlab是目前DevOps工具鏈中最常見的,拋開gitlab-ci不談,gitlab代碼提交觸發(fā)jenkins流水線是最經(jīng)典的搭配。 這里就介紹下如何配置實現(xiàn)jenkins和gitlab之間的集成。

      安裝GitLab Plguin

      • Gitlab Plugin- 這個插件允許GitLab在提交代碼或打開/更新合并請求時觸發(fā)Jenkins中的構(gòu)建。它還可以將構(gòu)建狀態(tài)發(fā)送回GitLab。

      圖片

      image.png

      配置Jenkins Server

      首先創(chuàng)建GitLab憑證,將憑證填充到 Manage Jenkins->System->enable authentication for '/project' end-point

      ?

      通過該配置,相當(dāng)于創(chuàng)建了jenkins job 可以操作訪問gitlab的憑證,在后面的jenkinsfile中就會使用聲明并使用該憑證。

      圖片圖片

      配置Jenkins Job

      創(chuàng)建jenkins job, 源代碼管理選 Git,Repository URL 填寫你 gitlab 上源碼 repo 的地址,Credentials 是拉取代碼時需要用到的身份認(rèn)證

      圖片

      image.png

      構(gòu)建觸發(fā)器選擇 “Build when a change is pushed to GitLab” (記住后面的GitLab webhook URL 后面要填在gitlab的webhooks中),按照下面勾選圖片

      同時點擊“高級”,“Allowd branches” 勾選 “Filter branches by regex”

      點 “Generate” 生成 token,這個 token 用于填寫到 gitlab 的 webhook 里,gitlab 檢測到代碼提交,會通知 webhook 里填寫的 Jenkins 生成的回調(diào)URL,并帶上這個 token,防止其它人觸發(fā) jenkins 的持續(xù)集成

      注: 復(fù)制出 URL 和 token,后面配置 gitlab 的 webhook 會用到

      圖片

      image.png

      ?

      該步驟的目的主要是為了將要通過gitlab觸發(fā)的jenkins job的信息準(zhǔn)備好,用于后面的配置gitlab-webhook, 讓gitlab知道該觸發(fā)哪個jenkins job.

      新版jenkins可能遇到的坑

      在“Generate” 生成 token時候,如果使用的是高版本的 jenkins ,會出現(xiàn)403錯誤  HTTP ERROR 403 No valid crumb was included in the request

      這是因為 jenkins 的防止跨站點請求偽造(Prevent Cross Site Request Forgery exploits)阻攔了請求,本來低版本的 jenkins 可以在界面把這個關(guān)掉,貌似高版本去掉了,可以通過如下方式:

      hudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION = true

      圖片如果出現(xiàn)下圖所示的情況,就表示命令成功了

      圖片

      image.png

      上面的方法對于在容器里運(yùn)行的jenkins而言,需要進(jìn)入容器修改配置,永久生效

      修改/usr/local/bin/jenkins.sh , 找到exec java那行,添加-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true

      # 最終效果
      exec java -Duser.home="$JENKINS_HOME" -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true "${java_opts_array[@]}" -jar ${JENKINS_WAR} "${jenkins_opts_array[@]}" "$@"
      
      

      至此,jenkins 的持續(xù)集成配置好了,還需要配置 gitlab 的 webhook,用于代碼提交通知 jenkins。

      配置Gitlab Webhook

      打開 gitlab 的 repo 的 Settings-Integrations,URL 和 Secret Token 填寫 jenkins job中構(gòu)建觸發(fā)器部分生成的,點擊 “Add webhook”,搞定!圖片在鏈接那里輸入之前jenkins上提供的webhook url 以及“Secret token“,編輯完后保存

      點擊測試,如果返回200,那就成功了,去jenkins看看有沒有自動構(gòu)建的記錄

      圖片圖片

      配置Jenkins返回執(zhí)行狀態(tài)

      上面步驟僅僅實現(xiàn)了gitlab代碼提交觸發(fā)jenkins job, 那么job執(zhí)行完成后的狀態(tài),怎么在gitlab上看到呢?

      pipeline {
          agent any
      
          options {
              gitLabConnection('gitlab-connection') 
            //Manage Jenkins->System->enable authentication for '/project' end-pointYour配置的GitLab Connection
          }
      
          stages {
              stage('build') {
                  steps {
                      updateGitlabCommitStatus name: 'build', state: 'running'
                      hogehoge
                  }
              }
          }
      
          post {
              success {
                  updateGitlabCommitStatus name: 'build', state: 'success'
              }
              failure {
                  updateGitlabCommitStatus name: 'build', state: 'failed'
              }
          }
      }
      

      參數(shù)說明:

      • gitLabConnection 是和GitLab鏈接的名稱。GitLab名稱的設(shè)定是在jenkins管理>系統(tǒng)設(shè)定>Gitlab當(dāng)中設(shè)置詳細(xì)的gitlab url和token

      • updateGitlabCommitStatus

      • name: build 名稱

      • state: pending, running, canceled, success, failed

      參考:

      posted @ 2024-04-21 11:37  DevOps在路上  閱讀(2402)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 宁河县| 蜜臀久久综合一本av| 亚洲深夜精品在线观看| 四虎库影成人在线播放| 一出一进一爽一粗一大视频| 噜噜久久噜噜久久鬼88| 人禽无码视频在线观看| a男人的天堂久久a毛片| 99精品人妻少妇一区| 日韩一欧美内射在线观看| 亚洲女人的天堂在线观看| 日韩精品人妻中文字幕| 人妻少妇456在线视频| 九九久久人妻一区精品色| 性欧美乱熟妇xxxx白浆| 国产亚洲无线码一区二区| 中文字幕精品亚洲无线码二区| 国产精品自拍实拍在线看| AV秘 无码一区二| 日本A级视频在线播放| 国产午夜精品一区二区三区不卡| 亚洲一本大道在线| 国产亚洲综合另类色专区| 国产在线一区二区不卡| 精品无码成人片一区二区| 亚洲中文字幕精品一区二区三区| 国产成人精品久久综合| 国产一级片内射在线视频| 真人作爱90分钟免费看视频| 国产一区二区三区导航| 999福利激情视频| 欧美日韩国产va在线观看免费 | 青草99在线免费观看| 久青草视频在线免费观看| 久久无码人妻精品一区二区三区| 中文字幕无码不卡免费视频| 最新中文字幕国产精品| 亚洲一区二区三区日本久久| 国产精品露脸视频观看| 亚洲最大的成人网站| 麻豆成人精品国产免费|