Jenkins 原始碼編譯

來源:互聯網
上載者:User

標籤:其他   profile   lips   網路   自己   建立   使用者   lan   tutorial   

最近一直想寫一個關於 Jenkins 管理的 InelliJ 外掛程式,但是嘗試很多次總是在登入認證上面失敗,各種辦法都不起作用,而且官方的文檔含糊不清,就動起了從原始碼編譯在開發環境中進行調試。

廢話少說,下面開始說明 Jenkins 的編譯過程。

 

環境準備

  1. 首先,JDK 環境是必須的了,而且要設定好 JAVA_HOME 環境變數,因為 Maven 會使用到,我這裡使用的是最新的 Java 8 1.8.0_112。
  2. 然後需要的就是 Maven 了,我這裡使用的是 3.3.9
  3. 由於要使用 Git 來 checkout 原始碼,需要使用合適的 Git 用戶端,我這裡使用的是 macbook 上內建的 Git 命令
  4. 開發環境我使用的是開源版本的 IntelliJ,這個 IDE 使用起來感覺要比 eclipse 更加順手一些

 

Checkout Jenkins 原始碼

Jenkins 的原始碼在 GitHub 上面可以直接找到,連結為 https://github.com/jenkinsci/jenkins。在複製原始碼的時候建議使用 HTTPS 協議,SSH 可能會和你本地的 SSH 秘鑰發生衝突。程式碼複製品命令如下:

git clone https://github.com/jenkinsci/jenkins.git

 

配置 Maven

由於 Jenkins 使用了修改過的 Jetty Maven 外掛程式,而且還有其他外掛程式的依賴庫都不是在 central repository 上管理,所以需要先修改預設的 settings.xml。個人強烈建議修改使用者目錄下面的那個 settings.xml 檔案,而不要去直接修改安裝目錄下面的設定檔。具體如下

  1. 到使用者根目錄,開啟 .m2 目錄,如果沒有,請手工建立一個 .m2 檔案夾
  2. 找到 settings.xml( ~/.m2/settings.xml )。如果沒有這個檔案,從  $M2_HOME/conf/settings.xml  複製一份過來
  3. 插入如下配置內容,當然要留意保證 xml 本身結構不會被破壞
  4. <settings>  <pluginGroups>    <pluginGroup>org.jenkins-ci.tools</pluginGroup>  </pluginGroups>  <profiles>    <!-- Give access to Jenkins plugins -->    <profile>      <id>jenkins</id>      <activation>        <activeByDefault>true</activeByDefault> <!-- change this to false, if you don‘t like to have it on per default -->      </activation>      <repositories>        <repository>          <id>repo.jenkins-ci.org</id>          <url>https://repo.jenkins-ci.org/public/</url>        </repository>      </repositories>      <pluginRepositories>        <pluginRepository>          <id>repo.jenkins-ci.org</id>          <url>https://repo.jenkins-ci.org/public/</url>        </pluginRepository>      </pluginRepositories>    </profile>  </profiles>  <mirrors>    <mirror>      <id>repo.jenkins-ci.org</id>      <url>https://repo.jenkins-ci.org/public/</url>      <mirrorOf>m.g.o-public</mirrorOf>    </mirror>  </mirrors></settings>

     

  5. 儲存剛才的修改

編譯 Jenkins

在命令列終端介面,切換到 Jenkins 原始碼所在目錄,然後執行以下 maven 命令

mvn -Plight-test install

 

如果 maven 配置正確並確保網路訪問,以上命令就可以編譯自己所需要的版本的 jenkins. 如果要編譯特定版本的 Jenkins,也可以在複製完成之後,使用 Git  checkout 命令切換到特定的分支(branch)或者標籤。

 

 

參考資料:

  • https://wiki.jenkins-ci.org/display/JENKINS/Building+Jenkins
  • https://wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial#Plugintutorial-SettingUpEnvironment

Jenkins 原始碼編譯

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.