2015-02-11 111 views
0

我們需要啓用一些合作伙伴與我們一起工作一些java項目,並且我們需要爲他們提供ant構建腳本。但是,如果可能的話,我們要加密ant構建文件(build.xml等),以便合作伙伴可以進行構建,但他們看不到實際的ant文件內容(我知道這很奇怪)。加密Ant構建文件

任何好建議表示讚賞。 (我們在Windows上)

回答

1

Ant本身不允許您加密構建腳本(也沒有其他構建系統AFAIK)。你可以做的是圍繞Ant創建一個自定義包裝器,它將以加密的形式存儲構建腳本,在執行過程中將其解密,並將解密的腳本傳遞給Ant API。然後,您可以將該包裝物交付給您的合作伙伴。如果只有構建腳本中的某些特定數據是敏感的,那麼您可能需要關注僅保護這些數據,使用其他方法)。

+0

感謝,但這是否在生成過程中的意思是,解密構建文件將提供給客戶? – foolhunger 2015-02-11 11:26:15

+0

您不必將解密的文件寫出到磁盤;你可以解密它並將它傳遞給內存中的Ant。 – yole 2015-02-11 11:27:44

+0

您可以使用Ant的ProjectHelper API來編寫該包裝程序 - ProjectHelper負責解析構建文件,因此您可以將其解密,然後委派給默認的ProjectHelper2。請參閱http://ant.apache.org/manual/projecthelper.html – 2015-02-11 12:15:11

0

音樂行業試圖解決同樣的問題。您想讓某人閱讀內容以播放音樂,但同時又因爲害怕複製而想隱藏內容。不幸的是,這些是兩個矛盾的要求......

我的建議是不隱藏你的構建邏輯。而是在構建屬性中傳遞憑據。這些憑證在運行時指定,並且控制訪問外部生成系統,如:

  • 源代碼庫
  • 二進制僞影儲存庫(用於存儲的版本)

目的是,只有授權的構建系統可以做出正式的更改。

如果您絕對必須以某種形式的密碼運送您的代碼,然後在休息時加密該數據(切勿在源代碼回收站中存儲明文密碼)。舉一個例子: