Skip to content
Snippets Groups Projects
Commit 1854bd70 authored by nd's avatar nd Committed by nd
Browse files

package uffd for apt

parent 56b07f17
Branches
Tags
No related merge requests found
......@@ -11,6 +11,31 @@ before_script:
- uname -a
- python3 -m pylint --version
- python3 -m coverage --version
- echo "${CI_COMMIT_TAG}" | grep -qE "v[0-9]+[.][0-9]+[.][0-9]+.*" && export UFFD_PACKAGE_VERSION="${CI_COMMIT_TAG#v}" || export UFFD_PACKAGE_VERSION="${CI_COMMIT_SHA}"
build:pip:
stage: build
script:
- pip3 install build
- PACKAGE_VERSION="${UFFD_PACKAGE_VERSION}" python3 -m build
artifacts:
paths:
- dist/*
build:apt:
stage: build
script:
- apt update
- apt-get install -y python3-all debhelper python3-pip git-buildpackage
- export PYBUILD_INSTALL_ARGS="--install-lib=/usr/share/uffd/ --install-scripts=/usr/share/uffd/"
- gbp dch --ignore-branch --debian-tag=v%\(version\)s
- dpkg-buildpackage -us -uc
- mkdir build
- mv ../*.deb build/
artifacts:
paths:
- build/*.deb
- debian/changelog
db_migrations_updated:
stage: test
......@@ -72,12 +97,22 @@ trans_de:
- ./update_translations.sh de
coverage: '/^TOTAL.*\s+(\d+\%)$/'
publish-pip:
publish:pip:
stage: deploy
script:
- pip3 install build twine
- PACKAGE_VERSION="${CI_COMMIT_TAG#v}" python3 -m build
- pip3 install twine
- TWINE_USERNAME="${GITLABPKGS_USERNAME}" TWINE_PASSWORD="${GITLABPKGS_PASSWORD}" python3 -m twine upload --repository-url ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi dist/*
- TWINE_USERNAME="${PYPI_USERNAME}" TWINE_PASSWORD="${PYPI_PASSWORD}" python3 -m twine upload dist/*
dependencies:
- build:pip
rules:
- if: '$CI_COMMIT_TAG =~ /v[0-9]+[.][0-9]+[.][0-9]+.*/'
publish:apt:
stage: deploy
script:
- exit 0
dependencies:
- build:apt
rules:
- if: '$CI_COMMIT_TAG =~ /v[0-9]+[.][0-9]+[.][0-9]+.*/'
include setup.py
graft migrations/*
graft uffd/templates
graft uffd/*/templates
graft uffd/static/
graft uffd/translations/
......@@ -41,27 +41,7 @@ Please note that the mocked LDAP functionality is very limited and many uffd fea
## deployment
Use uwsgi. Make sure to run `flask db upgrade` after every update!
### example uwsgi config
```
[uwsgi]
plugin = python3
env = PYTHONIOENCODING=UTF-8
env = LANG=en_GB.utf8
env = TZ=Europe/Berlin
manage-script-name = true
chdir = /var/www/uffd
module = uffd:create_app()
uid = uffd
gid = uffd
vacuum = true
die-on-term = true
hook-pre-app = exec:FLASK_APP=uffd flask db upgrade
```
For an example uwsgi config, see our [uswgi.ini](uwsgi.ini). You might find our [nginx include file](nginx.include.conf) helpfull to setup a web server infront of uwsgi.
## python style conventions
......@@ -114,7 +94,7 @@ The userinfo endpoint returns json data with the following structure:
## Translation
The web frontend is translated in the following Languages:
The web frontend is initially written in English and translated in the following Languages:
![status](https://git.cccv.de/uffd/uffd/badges/master/coverage.svg?job=trans_de&key_text=DE)
......
uffd (0.1.2) unstable; urgency=medium
* Initial release.
-- Andreas Valder <nd@cccv.de> Fri, 31 Jul 2021 23:02:31 +0200
Source: uffd
Section: python
Priority: optional
Maintainer: CCCV <it@cccv.de>
Build-Depends:
debhelper-compat (= 12),
dh-python,
python3-all,
python3-setuptools,
Standards-Version: 4.5.0
Homepage: https://git.cccv.de/uffd/uffd
Vcs-Git: https://git.cccv.de/uffd/uffd.git
Package: uffd
Architecture: any
Depends:
${misc:Depends},
${python3:Depends},
python3-ldap3,
python3-flask,
python3-flask-sqlalchemy,
python3-flask-migrate,
python3-qrcode,
python3-fido2,
python3-flask-oauthlib,
python3-flask-babel,
nginx,
uwsgi,
uwsgi-plugin-python3,
Description: UserFerwaltungsFrontend: Ldap based single sign on and user management web software
#!/usr/bin/make -f
export DH_VERBOSE = 1
export PYBUILD_NAME=uffd
%:
dh $@ --with python3 --buildsystem pybuild
/etc/uffd
/var/lib/uffd
/usr/share/uffd/uffd/instance
uwsgi.ini /etc/uwsgi/apps-available/uffd.ini
nginx.include.conf /etc/nginx/snippets/uffd-locations.conf
/usr/share/uffd/uffd/instance/config.py /etc/uffd/config.py
location / {
uwsgi_pass unix:///run/uwsgi/app/uffd/socket;
include uwsgi_params;
}
location /static {
alias /usr/share/uffd/uffd/static;
}
......@@ -25,6 +25,7 @@ setup(
author_email='it@cccv.de',
license='AGPL3',
packages=find_packages(),
include_package_data=True,
zip_safe=False,
python_requires='>=3.7',
)
[uwsgi]
plugin = python3
env = PYTHONIOENCODING=UTF-8
env = LANG=en_GB.utf8
env = TZ=Europe/Berlin
manage-script-name = true
chdir = /usr/share/uffd
module = uffd:create_app()
uid = uffd
gid = uffd
vacuum = true
hook-pre-app = exec:FLASK_APP=uffd flask db upgrade
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment