2015-12-02 46 views
0

我們有一個Jenkins服務器,我已經定義了我的工作。它使用Perforce作爲SCM。在本地文件上執行jenkins

我想複製Jenkins建立項目所需的所有步驟,而是使用本地工作空間中的文件。基本上,我想根據另一臺服務器上定義的作業在本地運行jenkins構建。

我該怎麼辦?

回答

1

類似於我爲我的Perforce用戶創建的東西可能適合您 - 我在Jenkins中添加了一個可以抓取擱置文件的工作(因此,用戶需要擱置這些文件),然後創建一個構建,然後讓用戶知道它是否成功(他們也可以選擇運行測試或創建可部署的構建)。它的要點是請求擱置的更改列表#,然後執行此操作:「p4 unshelve -s%SHELVEDCL%」並照常進行。當他們覺得喜歡時,他們會使用它;這很有用。但它確實需要訪問Jenkins。

+0

感謝這基本上解決了我的本地更改沒有提交perforce而構建的基本問題。 – sgarg

+1

我試過了。它很棒!在運行unshelve之前,有人可能想要添加的是「p4 revert // ...」,否則Jenkins工作區與head不同步。 – sgarg

+0

是的,絕對!我發現這很困難。謝謝! – tkosinski

0

1)在你的本地工作站上安裝Jenkins(如果你還沒有這樣做的話)。 2)將/ Jenkins/jobs /目錄複製到本地工作站上的/ Jenkins/jobs /目錄下。

3)根據需要啓動並編輯Perforce工作區(以及任何其他設置)。

+0

有沒有更簡單的方法來做到這一點,而無需運行我自己的jenkins服務器?就像一些可以一次性運行jenkins作業而無需一直運行服務器的東西? – sgarg

+0

不知道任何關於你的構建環境,我不得不說,它幾乎可以完成,而無需運行自己的Jenkins服務器。 Jenkins完全離開圖片並將其設置爲手動運行。 Jenkins對於做很多事情非常好,但是如果你想要做的只是偶爾的手動構建,爲什麼還要花費開銷呢? – tkosinski

+0

我只是試圖在本地執行我們的Jenkins服務器的構建步驟,用於在本地生成開發版本。它基本上是MSBUILD,Nuget在它之前還原,但是存在對我隱藏的工件創建過程。 不應該有一種方法來從jenkins作業生成makefile類的東西嗎? – sgarg

0

海事組織,你應該採取下列步驟操作:

  1. 從現有的創建一個新的詹金斯的工作。 2)將作業修改爲 作爲參數 傳遞分支名稱的字符串「參數化」作業。您可以在 作業的配置中使用「此版本已參數化」選項。 3)在作業配置 (源代碼管理部分)中,使用字符串參數變量名稱(從上面的#2創建)將Branch Specifier更改爲 。 4)在Perforce上創建您的功能分支,並在那裏進行預期的更改 。 5)運行您的分支新創建的作業作爲參數 。

希望這會有所幫助。

+0

您的答案確實觸及了我的問題的最終目的,即構建和測試新功能,但我想知道是否有可能不創建大量分支。 – sgarg

相關問題