Grip on Software deployment interface
Project description
GROS deployment interface
This repository contains a Web application that provides a management interface for application deployments using a quality gate.
Installation
The latest version of the GROS deployment interface and its dependencies can be
installed using pip install gros-deployer
.
Another option is to build the module from this repository, which allows using
the most recent development code. Run make setup
to install the dependencies.
The deployment interface itself may then be installed with make install
,
which places the package in your current environment. We recommend using
a virtual environment during development.
Running
Simply start the application using gros-deployer
. Use command-line arguments
(displayed with gros-deployer --help
) and/or a data-gathering settings.cfg
file (specifically the sections ldap
, deploy
and jenkins
influence this
application's behavior - see the gros-gatherer documentation on
configuration for
details).
You can also configure the application as a systemd
service such that it can
run headless under a separate user, using a virtualenv
setup shared with the
controller of
the agent-based data gathering setup. See the gros-deployer.service
file in
this repository for a possible setup (using a deployer
user and group) and
installation
of the controller for some pointers in this advanced setup.
For the option to restart a systemd
service when a deployment is updated, the
user running the application must have sudo
rights to execute at least the
systemctl
binary.
Development and testing
To run tests, first install the test dependencies with make setup_test
which
also installs all dependencies for the server framework. Then make coverage
provides test results in the output and in XML versions compatible with, e.g.,
JUnit and SonarQube available in the test-reports/
directory. If you do not
need XML outputs, then run make test
to just report on test successes and
failures or make cover
to also have the terminal report on hits and misses in
statements and branches.
GitHub Actions is used to run the unit tests and report on coverage on commits and pull requests. This includes quality gate scans tracked by SonarCloud and Coveralls for coverage history.
The Python module conforms to code style and typing standards which can be
checked using Pylint with make pylint
and mypy with make mypy
, after
installing the pylint and mypy dependencies using make setup_analysis
; typing
reports are XML formats compatible with JUnit and SonarQube placed in the
mypy-report/
directory. To also receive the HTML report, use make mypy_html
instead.
We publish releases to PyPI using
make setup_release
to install dependencies and make release
which performs
multiple checks: unit tests, typing, lint and version number consistency. The
release files are also published on
GitHub and from there
are archived on Zenodo.
Noteworthy changes to the module are added to the changelog.
License
GROS deployment interface is licensed under the Apache 2.0 License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file gros_deployer-1.0.0.tar.gz
.
File metadata
- Download URL: gros_deployer-1.0.0.tar.gz
- Upload date:
- Size: 21.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f12a8c2cc0e77165d3ddd86895e05b4cd46fd22bde5e3358f0d02cc83075ab41 |
|
MD5 | 29d150d0d5667bd2cd4f18011bfa60f9 |
|
BLAKE2b-256 | 3a8435cfdcf8122f4a44664b10a1b693a73bcf8cbedba4dbd7101e675e2ba7e5 |
File details
Details for the file gros_deployer-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: gros_deployer-1.0.0-py3-none-any.whl
- Upload date:
- Size: 23.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf6583af99ee34bc4a07c0ad1eef2ffe5c7e75f3a8eb5bbc813eeade53eb845b |
|
MD5 | 343bd516f7e2201b1f9de51a25f64802 |
|
BLAKE2b-256 | 313ed84408e119d251ce4b7629eee7adc441b1928d4652e9a3550e4f40139eeb |