設置 gitlab 用戶 root 可以通過 ssh 公鑰直接下載代碼

在 GitLab 服務器上為 root 用戶生成 SSH 公鑰,以便 Jenkins 可以無需密碼克隆代碼。

ssh-keygen
cat .ssh/id_rsa.pub

將生成的公鑰復制到 GitLab 中,以允許 Jenkins 拉取代碼。

SSH 配置示例

jenkins添加git用戶root的私鑰

在 Jenkins 中添加 git 用戶 root 的私鑰,以便 Jenkins 可以通過 SSH 訪問 GitLab。

cat .ssh/id_rsa

將私鑰添加到 Jenkins 的憑據管理中,并選擇 private key 選項。

私鑰添加示例

在 Jenkins 創建新的任務

在 Jenkins 中創建一個新任務,并選擇 Git 作為源碼管理工具。在配置中填寫 GitLab 倉庫的 URL 和憑據。

創建任務示例

將代碼發布到web服務器

使用 SSH 將代碼從 Jenkins 服務器部署到 Web 服務器。

scp -r ./ root@172.16.251.5:/var/www/html/

確保 Jenkins 可以無密碼登錄到 Web 服務器。

代碼發布示例

配置代碼更新后自動觸發jenkins進行部署

在 GitLab 中設置 Webhook,使得每次代碼更新時,自動觸發 Jenkins 進行構建。

Webhook 配置示例

測試gitlab觸發jenkins自動部署

在 GitLab 中提交代碼更改,并查看 Jenkins 是否自動觸發構建和部署。

echo "hello this is my devops " >> index.html
git add index.html
git commit -m "modify index.html"
git push -u origin master

自動部署測試示例

Jenkins 從 Gitlab 拉取代碼

配置 Jenkins 使其基于 SSH 從 GitLab 拉取代碼文件,并準備后續的構建和部署操作。

Jenkins 服務器創建密鑰對

在 Jenkins 服務器上生成 SSH 密鑰對,并將公鑰添加到 GitLab。

ssh-keygen
cat /root/.ssh/id_rsa.pub

為 Gitlab 用戶添加 SSH Key(公鑰)

在 GitLab 中添加 Jenkins 服務器的公鑰,以便 Jenkins 可以訪問 GitLab 的項目。

SSH Key 添加示例

為 Jenkins 添加全局憑據(私鑰)

在 Jenkins 中添加生成的私鑰,并配置 GitLab 憑據以實現無密碼拉取代碼。

憑據添加示例

測試代碼拉取

創建 Jenkins 任務,測試 Jenkins 是否可以從 GitLab 成功拉取代碼。

ll /var/lib/jenkins/jobs/YOUR_JOB_NAME/workspace

拉取代碼示例

通過以上步驟,您可以成功地配置 Jenkins 從 GitLab 拉取代碼,并實現自動化的構建和部署流程。

FAQ

問:如何在 Jenkins 中安裝支持從 GitLab 拉取代碼的插件?

問:如何配置 Jenkins 使用 SSH 從 GitLab 拉取代碼?

問:如何確保 Jenkins 可以無密碼訪問 GitLab 和 Web 服務器?

問:如何在 GitLab 中設置代碼更新后自動觸發 Jenkins 進行構建?

問:如何在 Jenkins 中測試從 GitLab 成功拉取代碼?

上一篇:

MinIO有restAPI嗎?

下一篇:

MinIO與Azure兼容嗎?
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費