日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Webhook与Jenkins自动构建(上)

發(fā)布時(shí)間:2025/7/25 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Webhook与Jenkins自动构建(上) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

webhook是個(gè)在特定情況下通過web觸發(fā)的一種api,Web 鉤子用于在項(xiàng)目發(fā)生相關(guān)事件時(shí)通知外部服務(wù)器,gitlab的web hooks跟git hook類似。也是當(dāng)項(xiàng)目發(fā)生提交代碼、提交tag等動(dòng)作會(huì)自動(dòng)去調(diào)用url,這個(gè)url可以是更新代碼?;蛘咂渌僮?。

githook

本地Hook

本地 Hook 只影響它們所在的倉庫。以下是最常用的 6 個(gè)本地 Hook:

  • pre-commit
  • prepare-commit-msg
  • commit-msg
  • post-commit
  • post-checkout
  • pre-rebase 前四個(gè) Hook 介入到版本提交的生命周期,后兩個(gè)允許執(zhí)行一些額外的操作,分別為 git checkout 和 git rebase 的安全檢查。所有與帶 pre- 的 Hook 代表即將發(fā)生的某個(gè)階段,帶 post- 只用于通知。

pre-commit

pre-commit 腳本在每次你運(yùn)行 git commit 命令時(shí),Git 向你詢問提交信息或者生產(chǎn)提交對(duì)象時(shí)被執(zhí)行。你可以用這個(gè) Hook 來價(jià)差即將被提交的代碼快照。比如說,你可以運(yùn)行一些自動(dòng)化測(cè)試,保證這個(gè)提交不會(huì)破壞現(xiàn)有的功能。

prepare-commit-msg

prepare-commit-msg這個(gè) Hook 在 pre-commit Hook 在文本編輯器中生效提交信息之后被調(diào)用。prepare-commit-msg 的參數(shù)可以是下列三個(gè):

包含提交信息的文件名。你可以在原地更改提交信息。 提交類型??梢允切畔?#xff08;-m 或 -F 選項(xiàng)),模板(-t選項(xiàng)),merge(如果是個(gè)合并提交)或squash(如果這個(gè)提交插入了其他提交)。 相關(guān)提交的SHA1哈希字串。只有當(dāng)-c,-C,或--amend選項(xiàng)出現(xiàn)時(shí)才需要。

post-commit

post-commit Hook 在 commit-msg Hook 之后立即被運(yùn)行。它無法改變 git commit 的結(jié)果,主要用于通知。這里我們?cè)敿?xì)來講述一下這個(gè) Hook ,因?yàn)槲覀冎笠玫剿?/p>

這個(gè)腳本沒有任何參數(shù),而且退出狀態(tài)不會(huì)影響提交。對(duì)于大多數(shù)的 post-commit 腳本來說,你只是想訪問你剛剛創(chuàng)建的提交。你可以用 git rev-parse HEAD來獲得最近一次提交的 SHA1 哈希字符串,或者你可以用 git log -l HEAD 來獲得完整的信息。

post-checkout

post-checkout Hook 和 post-commit Hook 很像,但它在你用 git checkout查看引用的時(shí)候被調(diào)用。

gitlab runner

docker 運(yùn)行

docker run -d --name gitlab-runner \-v /srv/gitlab-runner/config:/home/gitlab-runner \-v /var/run/docker.sock:/var/run/docker.sock \gitlab/gitlab-runner

gitlab-runner注冊(cè)

輸入:

gitlab-ci-multi-runner register

這里主要是需要兩個(gè)信息進(jìn)行注冊(cè),一個(gè)是gitlab的url,和runner token。 可以在gitlab CI/CD 的Runners settings中Specific Runners找到,如下所示:

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com ) https://172.17.0.2 (因?yàn)槲疫@里gitlab是放在dockder下面因此需要改成docker內(nèi)網(wǎng)地址) Please enter the gitlab-ci token for this runner kpSL7ViitQLYbSs3zS1x Please enter the gitlab-ci description for this runner my-runner INFO[0034] fcf5c619 Registering runner... succeeded Please enter the executor: shell, docker, docker-ssh, ssh? shell

gitlab-runner運(yùn)行

檢查runner的狀態(tài): gitlab-ci-multi-runner verify

重啟所有runner: gitlab-ci-multi-runner run

重啟單個(gè)runner: gitlab-ci-multi-runner run-single --url https://172.17.0.2 --token runnerToken --executor shell

需要在gitlab-runner環(huán)境下按照運(yùn)行所需要

轉(zhuǎn)載于:https://my.oschina.net/Kanonpy/blog/2052073

總結(jié)

以上是生活随笔為你收集整理的Webhook与Jenkins自动构建(上)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。