簡體   English   中英

Jenkins運行PHPUnit時,在Vagrant VirtualBox上進行間歇性MySQL連接

[英]Intermittent MySQL connection on Vagrant VirtualBox when Jenkins runs PHPUnit

我們有一個Jenkins CI服務器,由GitHub掛鈎觸發,每次提交時都會運行我們的測試套件。

最近,我們將測試套件從在Jenkins服務器上本地運行轉移到在VirtualBox / Vagrant VM中運行。 這是為了確保測試配置與開發環境匹配。 這是在Ubuntu 14.04主機上運行的Ubuntu 14.04來賓。

遷移到VM模型后,PHPUnit有時會失敗,並且無法連接到MySQL。 錯誤是Can't connect to MySQL server on '127.0.0.1'

此錯誤是間歇性的,不容易重現。 也就是說,如果我在Jenkins上觸發新的構建,則通常會成功。 但是,當新構建由GitHub鈎子觸發時,它比手動觸發的構建失敗更多,並且有時成功。

這是我嘗試過的:

  • 在運行phpunit之前sudo service mysql restart
  • mysql restartphpunit之間進入sleep 5
  • 連接到localhost127.0.0.1嘗試連接到localhost ,出現間歇性錯誤Can't connect to MySQL server on '/var/run/mysqld/mysqld.sock'

這是失敗的構建的完整輸出:

sudo service mysql restart
 * Stopping MySQL (Percona Server) mysqld
   ...done.
 * Starting MySQL (Percona Server) database server mysqld
   ...done.
 * Checking for corrupt, not cleanly closed and upgrade needing tables.

sleep 5

sudo service mysql status
 * /usr/bin/mysqladmin  Ver 8.42 Distrib 5.6.23-72.1, for debian-linux-gnu on x86_64

Server version      5.6.23-72.1-log
Protocol version    10
Connection      Localhost via UNIX socket
UNIX socket     /var/run/mysqld/mysqld.sock
Uptime:         6 sec    
Threads: 1  Questions: 111  Slow queries: 0  Opens: 761  Flush tables: 1  Open tables: 754  Queries per second avg: 18.500

phpunit
PHPUnit 4.6.2 by Sebastian Bergmann and contributors.    

Configuration read from /vagrant/phpunit.xml    

...........EEE.E.............E............................EEEEE.    

Time: 8.51 seconds, Memory: 135.25Mb    

1) ProcessDatasetsTest::test_process_on_census_fraction
PDOException: SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (111)

我在Vagrant上遇到了Mysql的間歇性連接問題,但與PHPUnit並不完全相關。 連接突然消失了,直到我發現在同一應用程序的virtualbox中有許多盒子同時運行。 我殺死了所有人,然后運行了global-status --purge ,再次保持了完美的聯系。

我們在另一個Vagrant VM上看到了類似的問題- Can't connect to MySQL server -原來是內存問題。 虛擬機內存不足。 通過在VM上添加或增加交換文件來解決此問題:

sudo fallocate -l 1G /swapfile.img
sudo chmod 0600 /swapfile.img
sudo mkswap /swapfile.img
sudo swapon /swapfile.img

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM