gros-deployer

Deployment web application

https://github.com/grip-on-software/deployer

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.6%) to scientific vocabulary

Keywords

deployment-application quality-gate
Last synced: 10 months ago · JSON representation ·

Repository

Deployment web application

Basic Info
  • Host: GitHub
  • Owner: grip-on-software
  • License: apache-2.0
  • Language: Python
  • Default Branch: master
  • Homepage: https://gros.liacs.nl
  • Size: 124 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 2
Topics
deployment-application quality-gate
Created about 3 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Changelog License Citation

README.md

GROS deployment interface

PyPI Build 
status Coverage 
Status Quality Gate
Status DOI

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.

Owner

  • Name: Grip on Software
  • Login: grip-on-software
  • Kind: organization
  • Location: Netherlands

Large-scale data-driven analysis of Scrum software development practices

Citation (CITATION.cff)

cff-version: 1.2.0
title: >-
   Deployment web application
message: Please cite this software as follows.
type: software
authors:
  - given-names: Leon
    family-names: Helwerda
    email: l.s.helwerda@liacs.leidenuniv.nl
    affiliation: Leiden University
    orcid: 'https://orcid.org/0000-0002-4299-466X'
repository-code: 'https://github.com/grip-on-software/deployer'
url: 'https://gros.liacs.nl/'
keywords:
  - deployment-application
  - quality-gate
license: Apache-2.0
version: 1.0.0

GitHub Events

Total
Last Year

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 15 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
  • Total maintainers: 1
pypi.org: gros-deployer

Grip on Software deployment interface

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 15 Last month
Rankings
Dependent packages count: 10.6%
Average: 35.2%
Dependent repos count: 59.8%
Maintainers (1)
Last synced: 10 months ago