導航:首頁 > 源碼編譯 > jenkins編譯微服務根項目

jenkins編譯微服務根項目

發布時間:2023-04-08 05:32:05

㈠ Jenkins篇02:Jenkins的配置

在 上一篇文章 中,我們介紹了Jenkins的安裝,本篇文章,繼續介紹Jenkins,進入Jenkins操作界面之後,先了解一下系統管理的相關配置。

這幾個目錄都是可以修改的, 一般沒有特殊需求不搭禪野做修改,如果指定某個目錄需求修改,對於Jenkins來說只是改了數據的存儲目錄,並不會影響Jenkins的執行。

執行者數量,可以理解為並發量,即Jenkins配置多個項目構建任務,同時執行的最大數量。

一般會通過自動執行配置錯開,盡量不要並發。當然如果涉及多個項目需要同時處理的時候,就需要把執行者數量改大,來支持更多的並發處理。

生襲燃成前等待時間,是為了給構建任務一個緩沖時間。默認為5秒,一般也不用修改。

工具位置(Tool Locations),是配置所有項目構建任務的默認工具,配置之後新建項目構建任務時便默認將這個工具加入到此項目的配置之中,而不需要單獨對其進行設置。

環境變數(Environment variables):定義鍵值對(Key-Value),只需要知喊引用該參數,就可以獲取對應的值。

Jenkins URL,這個設置用於郵件發送的地址,用來在郵件中產生鏈接地址。一般可以配置內網IP和對應的埠8080。

需要設置該郵箱對應的SMTP伺服器,以及認證的賬號密碼。設置完成之後就可以通過郵箱發送郵件了。

點擊插件管理,即可進入插件管理頁面。

Jenkins有著非常易於管理和配置的可視化管理界面,算是很人性化的管理,所有的操作只需要點擊界面按鈕就可以完成,配置非常簡單,相當容易上手學習。

㈡ 自動化部署工具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試試吧。

㈢ k8s基於Jenkins構建微服務發布平台流程

具行凳彎體步粗虧驟檔悶

Configure Clouds

㈣ 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加埠訪問。

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

完結撒花!!!

㈤ 自動化集成:Jenkins管理工具詳解

下載Jenkins包

注意這里直接下載war文件,以Java服務的形式啟動。

啟動命令

啟動日誌

訪問本地埠:8090

該頁面會提示初始登錄密碼的位置,查看該文件中初始密碼,並完成登錄。

安裝推薦插件

登錄之後先把推薦的插件裝上。

創建用戶

插件安裝完成之後會提示創建用戶。

這樣初始化完成。

重新啟動:restart

基礎配置

打開: Manage-Jenkins 選項,配置 Global-Tool-Configuration 選項:

配置組件:JDK、Git、Maven,採用開發環境的組件版本;

插件安裝

安裝如下插件:

簡介:基於Jenkins完成本地的Git倉庫項目打包;

保持構建的天數:3天,保持構建的最大個數:10個;

前置 Pre-Steps 步驟,這里執行一次maven版本查看:

構建 Build 步驟,這里直接寫項目的pom路徑,注意執行的maven命令:

後置 Post Steps 步驟,注意選擇構建成功後才執行,自行忽略這里shell語法的不入流組合:

上述配置完成後,打開任務頁面,執行如下操作:

這樣就可以通過jenkins完成本地項目的打包和啟動了。

簡介:通過配置用戶API訪問的token令牌,脫離jenkins控制台,直接觸發構建任務;

進入用戶面板的設置選項,配置 API Token :

注意這里生成令牌後要立刻復制下來,頁面會提示token無法復現。

任務配置的構建觸發器模塊,設置遠程構建的令牌:

上面已經給到token的使用方式。

通過如下方式,直接觸發上述構建任務的流程:

這里通過腳本直接請求URL的方式觸發流豎脊程。

創建MavGit任務,這里不做過多的配置,與本地倉庫相比,只是中簡把倉庫地址換成Gitee地址,只配置倉庫url和分支即可,其他採用默認:

因為是開放的倉庫地址,所以不用配置賬號密碼,默認指定master分支,然後執行build構建。

上面流程執行完後,查看MavGit的工作空間: /.jenkins/workspace/MavGit :

這里可以明顯發現,倉庫的代碼已經被pull下來,並且完成了自動打包流程,後續結合shell腳本完成jar啟動管理即可。余培滲

同系列文章 : 服務部署發布 灰度模式 自動化流程 消息中間件改造 微服務組件二次淺封裝 源碼倉庫

㈥ 敏捷之路 C++ (一) jenkins配置-VS工程自動編譯基本配置

Windows安裝Jenkins主要有兩種方式

關於安裝這塊官方資料齊全就不浪費時間了。

接下來啟動 jenkins並按照默認設置一路下一步就行了。

成功啟動jenkins並檢查確認jenkins工作區無誤後就可以開始配置jenkins以及自動編譯VS項目的相關環境了。

建議: 所有需要安裝的工具例如git,python,svn等盡量不要安裝在Program Files中,自己重新指定一個沒有許可權問題,純英文無特殊符號及空格等的路徑。

接下來安裝插件

首先是使用vs項目必不可少的MSBuild插件

以及多源項目需要的Multiple SCMs plugin
如果你需要郵件通知則安裝Email Extension Plugin

建議安裝一個你的工程所需版本的Visual Studio

一方面MSBUILD可以直接用,另一方面如果自動編譯出問題 可以使用VS打開你的項目進行調試

通常一個相對比較大的多項目工程,如果不是一直嚴格按照標准配置,很難保證獲取工程可以成功編譯建議從以下幾個角度檢查

配置好了工程可以從遠端克隆一個新的直接編譯試一下。可以成功編譯就可以配置jenkins項目了。

添加賬號密碼時有時候第一次添加的會無效,那就再添加一次並選擇第二個。通常就可以了。

㈦ 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下字元串操作總結

㈧ Jenkins 自動構建部署tomcat項目

Jenkins 是一個開源的、功能強大的應用程序,可持續集成並且持續交付項目。Jenkins自動構建項目的流程原理如下圖所示:

用戶通過將源碼push到svn或者git等倉庫上,然後Jenkins會定期pull檢查倉庫中的源碼是否有變化。如發生變化則會重新構建測試項目並打包生成相應的文件存放在指定的目錄,這過程中的完成情況可設置以郵件的形式反饋給管理員,並且管理員可登陸到Jenkins上查看相應項目的構建情況。接著項目構建成功後,Jenkins會把相應的項目包推送到指定的伺服器上的指定目錄下, 然後執行相應的命令進行項目的部署。

接著我們就來看看如何使用Jenkins完成tomcat項目的自動構建部署。

Jenkins的安裝可參考: https://www.jianshu.com/p/f2da45e2bac7

在Jenkinsweb界面中的系統管理->系統配置 添加相應的SSH Servers:

如上圖所示,添加相應的SSH Server的Ip、用戶密碼等信息,並設置遠程主目錄為根目錄,也可以配置SSH key 實現免密認證訪問。

因為本次實驗中我需要構建 https://github.com/charliewch/game-of-life 此項目,因此在構建之前需要保證Jenkins能夠連接上GitHub。此實驗中,我的Jenkins運行在tomcat應用上,因此其運行用戶為tomcat,所以需要使用tomcat用戶生成相應的ssh key 然後設置到github 的 setting中。

把上述的id_rsa.pub內容復制粘貼到github的setting中的SSH and GPG keys上:

配置完成後,能夠出現下述信息,說明tomcat 用戶連接到github已經成功。

在系統管理->系統設置中找到下圖的設置,並配置相關的郵件伺服器信息

點擊新建任務,輸入項目名後選擇構建一個自由風格的軟體項目並確定保存。

在源碼管理中添加git作為源碼倉庫。

設置輪詢SCM為每15分鍾輪詢一次,此處的編寫規則遵循crontab 任務的周期編寫規則。

在構建增加調用頂層Maven模板的步驟,添加目標為clean package,用於將相應的java項目打包成war包,存放在target目錄下。

在構建後的步驟中,新增Editable Email Notification,並在高級中配置觸發郵件報警的條件:

此處設置的recipient List 為上一步設置的收件人列表

繼續在構建後操作添加步驟:Send build artifacts over SSH

配置完成後點擊保存即可

在Gameoflife任務的工作空間中,點擊立即構建按鈕觸發新的構建,點擊Build history可查看相應的構建情況:

另外在相應的構建任務中點擊查看控制台輸出,能夠查看構建的結果及相應信息輸出,有助於排查錯誤。

從下圖看到,報警郵件也觸發成功了。

最後,此時如果用戶對修改相應的git倉庫的中源碼,在下一次git輪詢Jenkins會自動觸發相應的項目構建並進行推送部署,用戶可查看相應的git輪詢日誌來查看輪詢的情況。

㈨ jenkins構建項目的錯誤和原因及其解決方法

我們項目開發完之後需要構建項目發布上線時,通常會使用到jenkins構建工具,然後在使用jenkins工具構建項目時通常也會遇到一些構建錯誤問題,通常情況下,如果項目在自己本地打包時沒有問題,啟動服務時也沒有問題的情況下,可能是jenkins配置問題,需要開發人員配合本地配置項的修改完成,下面我給大家分享一下我遇到的一些構建失敗問題,注意:本篇文章講的主要是關於前端項目的構建失敗問題。

Umi自動化工程創建的react項目

從圖一中可以看出,是構建時打包命令出錯,使用了不能識別的 npm run build:prod ,該命令是前端工程項目中賣友 package.json 包文件中的 scripts 中配中兆槐置的,該案例中前端並沒有配置build:prod 這個打包命令,如圖:

這里有兩種解決辦法。

直接去jenkins 上將打包命令配置成前端包文件種配置的命令,本案例中因為沒有區分不同的開發環境,而且項目也只有master一個主分支,沒有使用環境變數來區分不同環境的打包命令,所以圖一中的問題,可以直接將jenkins裡面的打包命令配置成圖二中的打包命令 npm run build。去到jenkins 工具中,找到對應的配置項,如圖:

如果項目變得復雜,需要進行嚴格的環境區分,那麼這種情況下建議使用第二種方法,使用環境變數區分不同環境的打包命令,具體步驟如下:

去到前端項目在項目根目錄下找到包文件package.json文件,打開後,在scripts下面配置build:prod 的打包命令,如圖:

去到前端項目中的配置文件config.js中配置 APP_ENV環境變數來區分不同的環境,例如生產環境,開發環境,測試環境等,配置如下:

本文中暫時講到圖一中這種jenkins構建失敗的現象以及導致失敗的原因和針對其不同的兩種解決方法,後續再碰到其它失敗現象再補充,或者大家也可以在評論區回猜笑復各自遇到的失敗情況,歡迎留言。

閱讀全文

與jenkins編譯微服務根項目相關的資料

熱點內容
單片機的功能模塊 瀏覽:771
安卓手機如何錄制視頻長時間 瀏覽:285
安全問題app哪個好 瀏覽:445
壓縮水會變冰嗎 瀏覽:526
小說配音app哪個靠譜 瀏覽:820
編譯iso 瀏覽:944
照片生成pdf格式 瀏覽:194
病歷轉pdf 瀏覽:835
雲伺服器配硬體 瀏覽:978
伺服器10k什麼意思 瀏覽:21
pdfeditor漢化 瀏覽:884
新科學pdf 瀏覽:746
現在還有c語言編譯嗎 瀏覽:675
哪裡買到單片機 瀏覽:480
linux文件打開數量 瀏覽:510
編譯原理中什麼是l屬性文法 瀏覽:372
硬碟加密時出現的問題 瀏覽:61
如何退域命令 瀏覽:108
看書的app哪裡看 瀏覽:291
伺服器怎麼調大 瀏覽:4