费多拉选举
软呢帽选举
是一个用Python编写并基于Flask的web应用程序。它实现了范围投票系统.
此项目是使用Fedora project请求开发的,但可以很容易地适应其他项目。Fedora Elections与Fedora集成会计系统(FAS)。
创建开发环境
要使用Fedora Elections web应用程序,您需要创建测试更改的开发环境。通过使用流浪者,一个强大的用于在工作站上创建开发环境的有用工具。
使用Vagrant
您可以使用选举回购中包含的流浪者设置非常简单。
首先,安装Vagrant流浪病毒
插件,以及流浪汉
Fedora官方转发的插件:
sudo dnf安装vagrant vagrant-libvirt vagrant-sshfs
现在,从主目录(带有Vagrantfile文件
),运行游荡起来
命令来配置开发环境:
完成后,您将能够通过SSH连接到开发虚拟机中具有流浪者ssh
并运行命令以启动Fedora Elections服务器:
流浪者ssh[流浪汉@localhost~]$pushd/vagrant//runserver.py—主机“0.0.0.0”;
运行后,请转到本地主机:5005在您的浏览器查看您正在运行的Fedora Elections测试实例。
关于字体的注释
Fedora Elections使用Fedora基础设施中托管的web字体由于CORS限制,在本地进行黑客攻击时不起作用。如果您安装为自己添加字体,Fedora Elections网站的外观将与之相同部署到生产时。
您可以使用此命令安装字体。
关于git分支的注释
您将在git选举库中找到不同的git分支,如下所示简短描述它们的用途。
选举最初是在git流量使用s2i在OpenShift中部署之前的开发模型(源代码以更连续的部署模型。你会发现这些的痕迹git分支中的不同模型。
发展
:这是项目的默认分支,即您所在的分支在克隆存储库时签出。这是一个所有发展正在发生。您的拉入请求应以该分支为目标.
主人
:这是其中的分支发展
当新的发布。所以你会发现主人
最新的稳定版本基本上。
分段
:这是选举分段实例所在的分支正在部署。该分支包含一些不在发展
因为它们涉及到使选举易于部署通过s2i打开移位。这些更改与代码无关,因此无需出现在发展
。此分支位于发展
和更新暂存时强制推送。您的Pull-Request不应针对此分支。
生产
:类似于分段
上面的树枝,这是树枝正在从部署选举的生产实例。这里也是包含一些与为配置选举相关的额外提交openshift/s2i,这里的分支也是基于分段
并在生产更新时强制推送。您的Pull-Request不应针对此分支。
如何启动Fedora选举
以下步骤将使应用程序的其余部分运行。确保在执行这些步骤时,请使用Vagrant开发环境。
前提条件
在启动fedora选举之前,应安装以下软件包:
httpd(httpd)
libxslt语言
蟒蛇
python-backports-ssl_match_hostname
蟒蛇群
python字符
蟒蛇软帽
蟒蛇软呢帽烧瓶
蟒蛇烧瓶
蟒蛇烧瓶炼金术
蟒蛇烧瓶-wtf
巨蟒金贾2
蟒蛇厨房
python-lxml
蟒蛇开口
python-orderedict码
python-orderedict码
python-setuptools
python-simplejson代码
蟒蛇六号
python-sqlalchemy0.7
蟒蛇urllib3
python-wtforms
获取源代码
此项目托管于页码.为了方便起见,镜像也位于github.
您可以通过以下方式获取代码:
git克隆https://pageure.io/elections.git
安装pip要求w/tox以进行测试
设置venv(更换<base_path_for_venv>
和<venv_name>
):
pip安装--用户virtualenv toxmkvirtualenv<base_path_for_venv>/<venv_name>.<base_path_for_venv>/<venv_name>
安装要求:
配置应用程序
提供了一个示例配置文件在这里.
使用openid-connect注册应用程序
从项目根目录运行:
oidc寄存器https://iddev.fedorainfracloud.org/ http://localhost:5005
创建数据库
运行:
创建本地配置文件
运行:
cat>config<<EOLOIDC_ID_TOKEN_COOKIE_SECURE=错误OIDC_REQUIRE_VERIFIED_EMAIL=假终止
启动应用程序
有两种启动应用程序的方法:
没有Apache
当您不必担心时,这对于快速开发实例很有用关于安全问题。不要在生产中运行此操作。服务器将在启动http://127.0.0.1:5005.
使用Apache
复制软呢帽选举
到您的Apache conf.d目录:
sudo cp文件/fedora-elections.conf/etc/httpd/conf.d/。
接下来,放置软呢帽选举.wsgi
在里面/变量/www
:
sudo cp文件/fedora-elections.wsgi/var/www
调整Apache配置文件以指向web目录。然后,调整.wsgi文件
文件在/变量/www
指向软呢帽选择(_E)
目录。
将配置文件放入/etc/fedora-elections/fedora-lelections.cfg
并根据需要进行调整。
sudo mkdir-p/etc/fedora选举/sudo cp文件/fedora-elections.cfg/etc/fedora-elections/
现在,重新启动Apache:
运行测试
软呢帽选举使用毒物
简化测试,并支持跨多个环境的测试。
请参阅本文件前面关于“如何启动Fedora选举”的部分毒物
要运行测试,只需运行:
如何做出贡献
如前所述,此项目主要托管在页码.上面有一面镜子github,但只是为了方便。Pagure是首选的接受平台贡献。要提交问题、RFE或其他票据,必须使用Pagure。请参阅其他已提交的问题在这里.
如果你对这个项目感兴趣,请进#软帽管理员
在irc.freenode.net上或在Fedora Infrastructure邮件列表.
许可证
软呢帽选举是根据GPLv2许可的。