我在我的Ubuntu中安装了 DOCKER ,并且在Docker中安装了 ODOO 图像,odoo图像在docker上成功运行,但是我无法运行我的测试脚本。
我有自己的脚本文件,指的是运行我的自定义模块和其他具有以下内容的文件:
tests.sh
ADDONS_DIR="./addons"
DELETE_DB="dropdb testdb"
MODULE_LIST="hr_contract_leaves,hr_employee_birthdat_reminder,hr_employee_documents,hr_employee_emergency_contract,hr_employee_loan,hr_employee_medical_information,hr_employee_statutory_detail,hr_payslip_reports,hr_recruitment_interviewer,hr_recruitment_job_stage_survey,hr_recruitment_reports,account,account_accountant,board,calendar,contacts,crm,fleet,hr,hr_attendance,hr_expense,hr_holidays,hr_payroll,hr_recruitment,hr_timesheet,im_livechat,lunch,mail,maintenance,mass_mailing,mrp,mrp_repair,note,point_of_sale,project,project_issue,purchase,sale,survey,website,website_blog,website_event,website_forum,website_slides"
echo "Testing for modules: $MODULE_LIST"
RUN_ODOO="/gitlab-runner/gitlab-runner-server/odoo-bin --addons-path=/gitlab-runner/gitlab-runner-server/addons --log-level error -d testdb --init $MODULE_LIST --test-enable --stop-after-init 2>&1 | tee test_results.log"
echo "Starting tests with the following command: $RUN_ODOO"
eval $RUN_ODOO
echo "Tests Finished"
RESULT=$(grep "FAIL\|ERROR" test_results.log)
echo "Failure in tests: $RESULT"
echo "Cleaning up"
echo "Deleting Databse"
eval $DELETE_DB
echo "Database Deleted"
echo "Removing log file"
rm test_results.log
echo "Log file deleted"
echo "Clean up finished"
if [ ! -z "$RESULT" ]
then
echo "Failed"
exit 1
else
echo "PASSED"
exit 0
fi
拜托,任何人都可以帮助我在docker odoo上运行我的脚本文件,因为我是新手,所以我希望一步一步指导。
提前谢谢你......
答案 0 :(得分:0)
如果您要覆盖图片的默认entrypoint.sh
,可以像--entrypoint
一样指定docker run
选项:
docker run -d --entrypoint=test.sh odoo:10.0
这会导致容器在启动时运行test.sh
,而不是默认的entrypoint.sh
。不建议这样做,正如您从entrypoint.sh
可以看到它支持其他与数据库相关的配置。
如果您的所有test.sh
脚本都是添加自己的模块并提供其他选项,您可以:
addons_path
,docker run
用这个:
docker run -p 8069:8069 \
-v /path/to/your_config_file:/etc/odoo \
-v /path/to/your_addons_folder:/mnt/extra-addons \
--name odoo \
--link testdb:testdb \
-t odoo:10.0 --log-level error -d testdb --init $MODULE_LIST --test-enable --stop-after-init
您不必担心指定自己的日志文件,例如test_results.log
,因为您可以使用docker logs
查看容器日志。