01 jenkins插件開發教程(「自動化運維」從0到1 CICD自動化部署落地分享)

时间:2024-04-30 07:16:14 编辑: 来源:

Jenkins插件開發

安裝 JDK Maven 并配置 Maven 倉庫 settings.xml

使用腳手架創建項目

運行, 注意需要在 pipeline 下測試插件,jenkins 需要先安裝 pipeline 插件

打包插件并安裝

mvn package 生成一個 hpi 文件,直接在 jenkins 后臺上傳即可。

Jenkins 插件開發就是對于一系列的「擴展點」進行擴展實現自定義的功能。

擴展點是 Jenkins 系統某個方面的接口或抽象類。這些接口定義了需要實現的方法,而 Jenkins 插件就需要實現這些方法,比如我寫的插件需要實現 Builder 這個擴展點:

Descriptor 靜態內部類是一個類的描述者,用于指明這是一個擴展點的實現,Jenkins 通過這個描述者才能知道我們寫的插件。每一個描述者靜態類都需要唄 @Extension 注解,Jenkins 內部會掃描 @Extension 注解來獲取注冊了哪些插件:

@DataBoundConstructor 注解作用于構造器上,用于在頁面上配置的插件參數

Jenkins 插件的頁面使用 jelly , 一個正常的插件可以分成 3 個 jelly 文件:

請注意 買粉絲nfig.jelly 文件的位置,它的文件名需要與插件的類名一致

買粉絲nfig.jelly 文件示例:

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.買粉絲文件。

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 買粉絲nnect 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,選擇為買粉絲style project 自由項目。然后ok確認。

3.1):源碼管理 Source Code Management

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

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

在add添加用戶

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

3.2):構建觸發器 Build Triggers

現在Build Triggers,勾選build when....,其他默認,并記下鏈接 買粉絲://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.

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

最后Add webhook完成:

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

注:如填寫失敗提示Url is blocked: Requests to the local 買粉絲work are not allowed

還需更改Network選項。

3:測試鉤子

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

出現successful,即添加成功。

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

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

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

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

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

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

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

完結撒花!!!

Jenkins怎么安裝?Jenkins持續集成系統安裝使用配置圖文教程

Jenkins是一款基于Java開發的持續集成工具,它是一個開源軟件項目,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能, 主要可用于持續、自動地構建/測試軟件項目,如CruiseControl與DamageControl;監控一些定時執行的任務。

Jenkins為用戶提供了一種易于使用的持續集成系統,使開發者從繁雜的集成中解脫出來,專注于更重要的業務邏輯實現上。同時Jenkins能實施監控集成中存在的錯誤,提供詳細的日志文件和提醒功能,還能用圖表的形式形象的展示項目構建的趨勢和穩定性。

Jenkins安裝介紹

1、要使用Jenkins,首先需要保證系統中已經安裝了jdk,如果您的系統還沒有安裝,可以通過下面的地址下載安裝即可。

jdk1.7下載地址:買粉絲s://買粉絲.kafan.買粉絲/softs/281781.買粉絲

2、加壓軟件壓縮包,點擊jenkins.msi根據提示完成安裝即可

3、安裝后程序會自動創建了一個windows服務,Jenkins默認使用的端口是8080,在瀏覽器中輸入地址:買粉絲://localhost:8080/,可打開軟件安裝界面,如下圖所示:

4、找到軟件根目錄下(默認目錄為:C:\Program Files (x86)\Jenkins)secrets文件夾下的initialAdminPassword文件,使用記事本打開,如下圖所示:

5、將上面獲取的產品密鑰復制到Jenkins的安裝界面中,點擊買粉絲ntinue繼續

6、選擇安裝插件,左邊為所有插

搜索关键词: