Eclipse 更新原則控制

Eclipse 更新可讓使用者搜尋目前所安裝之功能的更新項目。 對於每個已安裝的特性,這項更新都會利用內嵌的 URL 來連接遠端伺服器以及搜尋新版本。 如果有更新項目,Eclipse 可讓使用者起始安裝程序。 下載、安裝和重新啟動平台之後,新的特性版本便已準備好,可以開始使用。

在許多使用者有相同 Eclipse 型產品(通常是商用產品)的公司中,這個模型可能會產生若干問題:

  1. 非常大的產品(如 500+ 個外掛程式),更新項目也非常大。 I/T 支援團隊可能不希望上百位開發人員個別下載 500MEG 的更新項目到他們的個別機器中。 除了頻寬問題之外,如此大量的下載要求也可能會失敗,造成重複嘗試,從而增加了開發人員的下載時間。
  2. 有些公司明白表示不想要開發人員直接從網際網路下載更新項目。 比方說,他們可能會設置一個區域支援團隊,且未必準備要處理提供者更新網站所提供之產品版本的相關要求。 他們可能會想將更新和修正程式限制在內部核准的清單中。 理想上,他們會在 LAN 上設定 'Proxy' 更新網站(在防火牆後面)。
  3. 如上所述,在 Proxy 網站中設定更新項目之後,管理者需要一種將可用的更新項目告知使用者的方式。

2. 救援更新原則

2.1 建立本端 (Proxy) 更新網站的支援

產品管理者的第一步驟是在連接公司 LAN(在防火牆後面)的伺服器中,設定一個本端 Eclipse 更新網站。 這個更新網站是網際網路中之產品更新網站的子集,因為它只包含公司這時要套用的更新項目的相關特性和外掛程式。 在技術上,這個網站是含有 site.xml、特性和外掛程式保存檔的一般 Eclipse 更新網站。

管理者可以利用兩種方式來建構這個網站:

  1. 產品支援團隊建立一個能快速用於這個特定目的之更新網站 zip 檔。 管理者只需要利用所選擇的工具從產品支援網頁下載 zip 檔,再將它 unzip 在本端伺服器中即可。 如果是需要最新的可重新啟動之下載管理程式(當連線發生問題時,能夠斷點續傳)的超大型 zip 檔,這種方式非常有用。
  2. Eclipse 更新提供一個工具,可用來完整鏡映遠端更新網站,或讓管理者選取要下載的更新項目和修正程式。 這個鏡映功能將完全自動化,且會大幅簡化管理者的作業,但它有賴於這項更新的網路連線支援。

2.2 共用更新原則控制

由於特性將更新網站 URL 內嵌在 Manifest 中,它們並不知道管理者所設定的本端更新網站。 因此,提供重新導向功能便很重要。 您可以建立一個更新原則檔,將這項更新配置成在搜尋時會使用這個檔案,來設定 Eclipse 產品的這項和其他更新原則設定。

相關檔案使用 XML 格式,且可以有任何名稱。 您可以在更新原則欄位的喜好設定>安裝/更新中設定這個檔案。 依預設,文字欄位是空的:使用者可以設定更新原則檔的 URL。 這個檔案由本端管理者來管理,所有產品安裝架構都可以共用它。 共用的方式有兩種:

原則檔必須符合下列 DTD:

<?xml encoding="ISO-8859-1"?>

<!ELEMENT update-policy (url-map)*>
<!ATTLIST update-policy
>

<!ELEMENT url-map EMPTY>
<!ATTLIST url-map
    pattern    CDATA #REQUIRED
    url        CDATA #REQUIRED
>

url-map

這個元素用來置換特性 Manifest 所內嵌的更新 URL。 當尋找新的更新項目時,Eclipse 搜尋會檢查更新原則(如果有的話),且會檢查有沒有指定比對特性字首的 url-map。 如果找到相符者,就會用對映的 URL 來取代內嵌的 URL。 管理者可以利用這個方式配置 Eclipse 產品在防火牆後面的本端伺服器中搜尋更新項目。 同時,Eclipse 更新所安裝的協力廠商特性也會繼續利用預設機制來更新,因為它們在原則中找不到相符者。

檔案中可能會有若干 url-map 元素存在。 您可以選擇較特定或較不特定的特性字首。 比方說,如果要重新導向所有 Eclipse 更新,pattern 屬性就是 "org.eclipse"。 同樣地,如果需要就個別特性來重新導向,您可以利用完整的特性 ID 來作為型樣。

您可以選擇檔案中的型樣來漸進縮小可能相符的範圍。 這可能會造成給定特性有多個相符項目。 在這個情況下,會使用符合最長的型樣。 比方說:

<?xml version="1.0" encoding="big5" ?>
<update-policy>
	<url-map pattern="org.eclipse" url="URL1"/>
	<url-map pattern="org.eclipse.jdt" url="URL2"/>
</update-policy>

在上述情況中,除了使用 URL2 的 org.eclipse.jdt,所有 Eclipse 特性都會從 URL1 更新。

更新原則檔不包含可轉換的字串,因此,不需要特殊 NL 處理。 一般而言,這些檔案應該使用 big5 編碼。

2.3 自動探索更新

整體解決方案的第三個部分是另一主題的範圍,但這裡仍要提及,因為它是解決方案不可或缺的部分。 自動更新可讓 Eclipse 依指定的時程表(在每次啟動時(預設值)、每天一次、每週一次等)來執行更新搜尋。

3. 摘要

以下是組成解決方案的完整步驟順序:

  1. 管理者在公司 LAN 中配置一部伺服器,用來代管本端產品更新。開始時,它沒有包含任何更新網站。機器必須有執行中的 HTTP 伺服器。
  2. 管理者在這部伺服器上設定一個更新原則檔,指示所有使用者依所提供的 URL 來設定更新原則喜好設定。
  3. 當產品提供者在他們的更新網站中發佈更新項目和修正程式時,管理者就將支援的更新項目下載到本端伺服器中。
  4. 在用戶端產品啟動時依排定的頻率來執行的自動更新,會找出本端更新項目,並向使用者發出通知。
  5. 使用者選擇安裝所找到的更新項目。

相關作業
自動更新排程器