我們跟到底去解決的辦法是很像的Jakub建議 - 我們的詹金斯實例生成的Apache虛擬主機文件conf.d爲使用貝哈特每個工作區,使用腳本類似以下內容:
# Set up a host file entry if none exists
hostFileEntry="127.0.0.1 ${JOB_NAME}.loc"
if fgrep -i "$hostFileEntry" /etc/hosts
then
echo "${hostFileEntry}" already in hosts file
else
echo $hostFileEntry >> /etc/hosts
fi
# Set up a virtual host for this job
echo "<VirtualHost *:80>" > /etc/httpd/conf.d/${JOB_NAME}.conf
echo " ServerName ${JOB_NAME}.loc" >> /etc/httpd/conf.d/${JOB_NAME}.conf
echo " DocumentRoot ${WORKSPACE}/public" >> /etc/httpd/conf.d/${JOB_NAME}.conf
echo " <Directory ${WORKSPACE}/public>" >> /etc/httpd/conf.d/${JOB_NAME}.conf
echo " AllowOverride all" >> /etc/httpd/conf.d/${JOB_NAME}.conf
echo " Order allow,deny" >> /etc/httpd/conf.d/${JOB_NAME}.conf
echo " Allow from all" >> /etc/httpd/conf.d/${JOB_NAME}.conf
echo " </Directory>" >> /etc/httpd/conf.d/${JOB_NAME}.conf
echo "</VirtualHost>" >> /etc/httpd/conf.d/${JOB_NAME}.conf
# Reload Apache
sudo /sbin/service httpd reload
然後,我們針對這些工作區運行Behat並以JUnit格式輸出,以將結果與我們的構建集成。它需要一些權限的調整,但這對我們來說非常好,非常感謝您的幫助:-)
感謝您的。我正在通過提供嵌入此腳本的軟件包來嘗試此解決方案。這對所有服務器發行版來說都不是抽象的,但這個想法就在這裏。 https://github.com/prestaconcept/meta-ci。 – DEY 2013-10-25 12:34:21