Jenkins 源代碼編譯


最近一直想寫一個關於 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)或者標簽。

 

 

參考資料:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM