當前位置:首頁 » 網頁前端 » 腳本有沒有鉤子
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

腳本有沒有鉤子

發布時間: 2023-08-07 03:56:22

㈠ Gitlab+Jenkins通過鉤子實現自動部署web項目,圖文詳細教程

擴展參考:Jenkins+Gitlab通過腳本自動部署回滾web項目至集群

1):Gitlab伺服器:ubuntu 192.168.152.131 ---參考搭建:Linux安裝gitlab,docker安裝gitlab教程

2):Jenkins伺服器:ubunu 192.168.152.130 ---參考搭建:linux安裝Jenkins,或docker安裝Jenkins教程

在伺服器上生成ssh-keygen,用於配置web伺服器和Gitlab伺服器。

3):web伺服器:centos 192.168.152.150 ---已搭建好LNMP環境

4):開發者電腦:Windows+key密鑰 (用於提交代碼)

1:在gitlab創建項目Test Project

2.1): 配置一個開發者電腦的ssh公鑰到gitlab

配置一個開發者電腦的ssh公鑰到gitlab,這樣才能模擬開發上傳代碼到gitlab。

windows生成key過程及git安裝,可參考:Windows下git和github的使用圖文詳細教程_the丶only的博客-CSDN博客_github win

在windows測試clone,和提交代碼。


註:最新版git 已經將默認分支master改為main了。所以看到main,而不是master不要太奇怪

測試成功,在gitlab也顯示有index.html文件。

2.2): 配置jenkins公鑰到gitlab

同理,同樣需要jenkins公鑰,因為jenkins也需要拉去gitlab的代碼。

jenkins伺服器 上查看公鑰並復制添加到gitlab,並命名為jekins。

1:插件管理,安裝插件

jenkins本身沒什麼功能,主要是依靠插件來實現各種強大的功能。

基本需要添加的插件:Gitlab Hook、Build Authorization Token Root、Publish Over SSH、Gitlab Authentication、Gitlab、Git Parameter

可以在 Manage Jenkins >> Manage Plugins 查看管理插件。在Available 選項搜索安裝插件即可。

安裝完成後,重啟Jenkins。

2:添加需要部署的web主機

在 Manage Jenkins >> Configure System 中往下翻,找到 Publish over SSH 選項,點擊add ssh server。

在Jenkins伺服器上,查看私鑰,注,是私鑰,不是公鑰。

將私鑰填寫在key位置,還有添加web伺服器相關信息。

註:如果測試報錯如下

Failed to connect or change directory
jenkins.plugins.publish_over.BapPublisherException: Failed to add SSH key. Message [invalid privatekey: [B@2e54414f]

是因為默認用ssh-keygen命令,默認生成了OPENSSH 格式密鑰。而Jenkins暫時不支持這種私鑰,私鑰開頭結尾如下:

所以,需要生成rsa密鑰格式的。用開頭說的ssh-keygen加其他參數生成即可。

私鑰開頭結尾如下:

再次測試,顯示success,則成功。然後點擊save保存即可。

3:構建任務項目

首頁創建任務或者一個項目

命名為web-project,選擇為freestyle project 自由項目。然後ok確認。

3.1):源碼管理 Source Code Management

選擇源碼管理,添加gitlab的項目clone地址。

註:最後路徑選擇分支,我gitlab主分支名字為main,如果是master,則寫master,或者合並的其他分支。

在add添加用戶

添加完成後,選擇git用戶,這時沒有紅色提醒,說明已成功連接

3.2):構建觸發器 Build Triggers

現在Build Triggers,勾選build when....,其他默認,並記下鏈接 http://192.168.152.130:8080/project/web-project

點擊高級 advance 選項。

勾選filter branches regex選擇,填寫分支,生產token。其他默認

3.3):構建 Build

選擇Build 選項。選擇ssh

添加web伺服器

添加完畢,最後save保存。

1:添加鉤子webhooks.

選擇自己的項目Test Project,在設置setting里,選擇鉤子webhooks.

填寫剛才記下的http://192.168.152.130:8080/project/web-project和token值。

最後Add webhook完成:

2:如添加失敗,報錯,更改Network

註:如填寫失敗提示Url is blocked: Requests to the local network are not allowed

還需更改Network選項。

3:測試鉤子

添加完成後,下面會出現鉤子選擇。點擊test中的,push event。

出現successful,即添加成功。

在Jenkins也可以看到剛才的測試時間信息。

在開發電腦上測試提交,我這里為Windows電腦測試。

打開Git Bash,輸入以下命令:

提交成功,回到Jenkins,查看是否構建成功:

綠色顯示構建成功,無錯誤顯示。回到gitlab查看項目。

時間顯示剛才也提交成功,無錯誤。最後在瀏覽器輸入web地址測試,本人配置了web訪問埠8082。所以輸入IP加埠訪問。

內容也已經自動更新成功。

完結撒花!!!