[英]Python Azure Functions and Bitbucket Pipelines - how do I zip requirements?
[英]How do I use Docker on BitBucket pipelines to test a Django app that needs PostGIS?
我正在尝试使用BitBucket管道在私有BitBucket存储库上的Django应用上构建自动化测试。
我已经完成所有测试,可以使用./manage.py test
或tox
来运行它们。 这在本地运行良好,测试可以在其中构建(临时)PostGIS测试数据库。 要正确安装所有requirementst.txt
,必须使用PostGIS和诸如gdal之类的东西。
我在查找可在Docker上提供完整Python + PostGIS / gdal等堆栈的Docker映像时遇到问题,而且我缺乏自己构建它的技能。
我失败的尝试记录在GitHub上: https : //github.com/zostera/docker-django-ci
有人可以为我指出正确的方向(教程),还是可以通过一个可行的例子帮助我?
我写了一篇有关使用Bitbucket Pipelines构建,测试和部署Django App的详细文章
这是使用PostGIS进行扩展的一个良好的开始,我将为您指出正确的方向。 除了文章之外,我们还开源了Dockerfile ,您可以对其进行扩展以支持PostGIS。
你需要上安装PostGIS的一个很好的教程,例如尝试这一个 。
从centos7-postgresql9.4
Dockerfile开始,并在VOLUME
行之前添加用于安装PostGIS的命令:
...
# install PostGIS
RUN yum -y install postgis2_94 postgis2_94-client
VOLUME ["/var/lib/pgsql/9.4"]
最后,您必须在数据库中启用扩展。 将此代码添加到start_postgres.sh
:
if [ -n "${POSTGRESQL_DATABASE}" ]; then
echo "Creating database \"${POSTGRESQL_DATABASE}\"..."
sudo -u postgres psql -c "CREATE DATABASE \"${POSTGRESQL_DATABASE}\" OWNER \"${POSTGRESQL_USER}\";"
# create db gistest, connect to db gistest and create postgis extension
sudo -u postgres psql -c "CREATE DATABASE gistest;\c gistest;CREATE EXTENSION postgis;"
fi
我们最近已经弄清楚了,并发布了自己的Docker映像,该映像支持Python,Django,Postgres,PotGIS和其他一些东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.