2013-04-12 32 views
0

我們已經設置Cloudbees Jenkins在Github中檢測到提交時運行集成測試作業。但是,對於一些奇怪的原因,一些間歇構建失敗,出現以下錯誤:爲什麼Cloudbees Jenkins會間歇性地失敗,導致MySQL的Access拒絕錯誤?

ERROR 1045(28000):拒絕訪問用戶「根」 @「localhost」的(使用密碼:YES)

在我們的集成測試我們執行以下操作:

  1. 刪除MySQL數據庫(如果存在)。
  2. 爲集成測試創建一個新數據庫。通過在作業執行外殼命令 -
  3. 運行集成測試(Junit的)

我們已經設置MySQL管理密碼一次爲root用戶的MySQL的。後來我們刪除了它,因爲它在下一次失敗時,給我們一個提示,即不需要每次由作業設置密碼。

爲什麼這可能會發生任何輸入將有所幫助。

+0

我能通過在雲端Jenkins中添加以下內容解決此問題:mysqladmin -u root password'mysql'--socket =/home/jenkins/mysql/mysql.sock >> temp.txt重定向確保如果命令失敗,構建不會停止。當密碼爲空時,它會設置密碼。 – Gurpreet

回答

0

Cloudbees平臺使用從池,並且您的構建可能發生在它已經構建的節點上(分配算法會嘗試給您這樣一個節點,這樣您就可以獲得已經配置的所有依賴關係),但是您有時會構建開始一個新的新節點。所以你的構建需要在兩種情況下完全重現。

可能的解決辦法是讓這個pasword初始化條件,以某種方式爲您檢測數據庫已經建立,或執行完全復位,所以你可以安全地運行init命令每建

相關問題