當前位置:首頁 » 編程軟體 » jenkins編譯

jenkins編譯

發布時間: 2023-09-19 15:34:11

1. java Maven打包總結(Jenkins多模塊編譯部署)

原文地址: Java Maven打包總結(Jenkins多模塊編譯部署)

依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7個階段。
完成了項目編譯、單元測試、打包功能,但沒有把打好的可執行jar包(war包或其它形式的包)布署到本地maven倉庫和遠程maven私服倉庫

依次執行了clean、resources、compile、testResources、testCompile、test、jar(打物液包)、install等8個階段。
完成了項目編譯、單元測試、打包功能,同時把打好的可執行jar包(war包或其它形式的包)布署到本地maven倉庫,但沒有布署到遠程maven私服倉庫

依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9個階段。完成了項目編譯、單元測試、打包功能,同時把打好的可執行jar包(war包或其它形式的包)布署到本地maven倉庫和遠程maven私服倉庫

可以看森和到主要區別在把生成的jar包最終存放的位置, package只管打包; install把打好的包放到了本地maven倉庫;deploy是同時放到本地倉庫和遠程maven私服

這里本地倉庫默認是 /root/.m2/repository/ ,具體配置在 ${M2_HOME}/conf/settings 的 localRepository 配置項決定。遠程私服倉庫一般是nexus,具體地址在項目的pom.xml中配置。比如

一般是進入父級目錄之後執行

如果是多級目錄罩春物的話,有時候並不一定是按照 具體的項目來 編譯,比如

這個時候如果一個項目一個項目來編譯會超級多,很繁瑣,這里是按照 subparentproject 來編譯,命令如下

有個注意的地方:
subparentproject 目錄下的pom.xml文件中一定有類型如下的配置

1、需要安裝插件 Extended Choice Parameter Plug-In 可以支持參數單選、多選
2、項目選擇"自由風格",而不是maven編譯
3、在「構建」 -> "執行shell" 中編寫 子模塊編譯腳本及其後續處理

具體配置如下圖

「構建」 -> "執行shell" 中的處理腳本

附加:

Linux Bash下字元串操作總結

2. 自動化部署工具jenkins,從此擺脫重復單調的工作

它是基於Java開發的一種持續集成工具,用於監控持續重復的工作,旨在提供一個開放易用的軟體平台,使軟體的持續集成變成可能。

有了它你可以免除手工編譯,發布代碼,上線更容易。節省的時間你可以喝杯咖啡,放鬆一下 ^_^

道路千萬條,熟悉第一條,我這里使用 Red Hat 家族衍生的 centos 上安裝Jenkins。

這里可以下載rpm包: http://pkg.jenkins-ci.org/redhat/

也可以如下操作:

安裝

將Jenkins存儲庫添加到yum repos,並從此處安裝Jenkins。

安裝穩定版

還有一個LTS YUM資源庫的LTS版本線

安裝Java

Jenkins需要Java才能運行,但默認情況下某些發行版不包含此內容。要安裝Open Java Development Kit(OpenJDK),請運行以下命令:

安裝完成後Jenkins 啟動之前的注意事項

默認情況是Jenkins是使用Jenkins用戶啟動的,但這個用戶目前系統並沒有賦予許可權,這里我們將啟動用戶修改為root;另外Jenkins默認埠是8080,這個跟tomcat的默認埠沖突,我們也修改一下默認埠。

找到 JENKINS_USER 和JENKINS_PORT ,修改為root和你需要的埠

啟動/停止

注意:如果收到以下錯誤消息,請確保已安裝Java:

Starting jenkins (via systemctl): Job for jenkins.service failed. See 'systemctl status jenkins.service' and 'journalctl -xn' for details.[FAILED]

禁用防火牆

有關CentOS Java的重要說明

Jenkins需要Java才能運行,但yum install jenkins不強制已經安裝了java。檢查以確保您已通過運行安裝了hava java java -version。為了進一步使CentOS用戶感到困難,默認的CentOS版本的Java與Jenkins不兼容。Jenkins通常最適合使用Java的Sun實現,由於許可原因,它不包含在CentOS中。

如果您獲得類似於以下內容的輸出,則表示您使用的是Java的默認(GCJ)版本,該版本不適用於Jenkins:

要解決此問題,您可能需要刪除GC的GCJ版本並安裝Sun兼容版本。

如果收到上面的輸出,請卸載默認的java:

然後在卸載Java之後(或者如果你根本沒有安裝Java那麼開始)。您需要安裝與Sun兼容的Java版本。最簡單的方法是使用OpenJDK,它可以通過EPEL存儲庫獲得(或者您可以直接從Oracle安裝官方 RPM)。要安裝OpenJDK,請運行以下命令:

根據您的CentOS版本,OpenJDK的軟體包名稱可能有所不同。使用yum search openjdk來檢查包的名稱。如果通過yum找不到OpenJDK,則可能需要安裝EPEL yum存儲庫。安裝後,您應該能夠獲得以下java -version輸出:

Ok,到此jenkins安裝完成。

接下來你可以在瀏覽器地址中輸入Jenkins網址,如:IP:埠,將顯示如下內容:

拷貝指定文件密碼,進入用戶自定義插件界面,建議選擇安裝官方推薦插件:

接下來是進入插件安裝進度界面:

等待一段時間之後,插件安裝完成,配置用戶名密碼:

OK,你可以使用jenkins來編譯、發布你的代碼了。oh,它支持從代碼庫中直接拉取代碼,git、svn都支持。趕快使用你的Spring boot、go試試吧。

3. jenkins 重新設置構建號之前很多編譯失敗的,很難看

在 jenkins manage----script console 中執行如下腳本:
item = Jenkins.instance.getItemByFullName("job_name")
item.builds.each(){build->build.delete()}
Jenkins.instance.getItemByFullName("job_name").updateNextBuildNumber(想設置的起始號 如 1)

4. 請問Jenkins如何配置自動或定時編譯

打開job的配置界面,在構建觸發器欄下有Poll SCM(定時檢查源碼變更並構建)和Build periodically(周期進行項目構建,不關心源碼是否變更)選擇,打開它們後面的問號,有很明確的介紹和實例

5. jenkins git+maven 編譯怎麼知道編譯成功

1.通過Jenkins web頁面添加Git plugin

Manage Jenkins->Manage Plugins->Available中選擇Git Plugin安裝,

注意要填寫user name和 email地址,否則日後會碰到git tag的錯誤

2.在Jenkins使用的機器上創建Git用戶所需要的公鑰

具體步驟參考前面Git server文章

但是注意,要將最後生成的.ssh目錄下的公鑰和私鑰文件復制到/var/lib/jenkins/.ssh目錄下,否則git clone命令會報錯

3.修改jenkins目錄許可權

chmod -R 777 /var/lib/jenkins

4.現在可以通過web頁面創建一個項目Test,然後設置該項目使用Git作為版本管理。

並且設置repository路徑,比如我的:git@S1:cml.git

5.在build選項的pom文件指定你需要執行的pom.xml路徑

比如我的一個測試工程名叫client,是個maven工程,我設置為client/pom.xml

6.現在可以點擊左側的Build now進行測試

一切OK,則沒有錯誤日誌。在Build History中可以看到測試結果,有沒有錯誤。

7.Email發送設置

在Manage Jenkins->Configure System->Email Notification中,設置SMTP發送的基本信息,點擊Advanced,可以填寫用戶名和密碼。還有一個測試按鈕可以用來發送測試設置是否正確。

同時在Test項目中的Building Settings打勾選中E-mail
Notification,點擊右邊的問號,會出現幫助文檔,說明在四種情況下會發送email,填寫接受email的地址,然後故意將client代碼
修改到不能編譯通過。然後點擊Build now按鈕測試一下。果然收到email.

8.檢查代碼更新並編譯

可以通過Poll SCM來設置定時檢查編譯功能

比如*/5 * * * * 就是每隔5分鍾檢查一次,如果git倉庫中有更新,則執行build操作。

9.使用Maven加快下載速度

如我這篇文章所述,用可以避免下載過慢問題,也可以繞過公司內部外網限制問題。

Jenkins的.m2目錄路徑在:/var/lib/jenkins/.m2/

首先清空裡面所有的jar包,然後創建settings.xml文件,並編輯內容如下:

源碼列印?
<settings>
<mirrors>
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url></url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<!--Enable snapshots for the built in central repo to direct -->
<!--all requests to nexus via the mirror -->
<repositories>
<repository>
<id>central</id>
<url></url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url></url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<!--make the profile active all the time -->
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>

現在點擊build now測試一下,打開console output,看看命令行輸出結果,如果發現從S1下載jar包,就正確。和不用的比較了一下,節省了1分多鍾.

熱點內容
網頁和資料庫 發布:2024-11-19 04:39:16 瀏覽:786
sql自動編號插入 發布:2024-11-19 04:39:16 瀏覽:750
使用代理伺服器地址和埠怎麼填 發布:2024-11-19 04:33:33 瀏覽:865
discuz資料庫操作 發布:2024-11-19 04:33:22 瀏覽:85
什麼是db資料庫 發布:2024-11-19 04:31:17 瀏覽:552
安卓os耗電過多是怎麼回事 發布:2024-11-19 04:14:56 瀏覽:313
dcs數據存儲多長時間 發布:2024-11-19 04:10:38 瀏覽:950
我的世界手機版租賃服顯示無法連接至伺服器 發布:2024-11-19 04:07:19 瀏覽:55
java起源 發布:2024-11-19 04:02:18 瀏覽:373
才辦的醫保卡密碼是多少 發布:2024-11-19 03:47:57 瀏覽:344