Skip to main content

Build an isolated test lab for running software in containers.

Project description

Lab Test

https://img.shields.io/pypi/v/labtest.svg https://img.shields.io/travis/CityOfBoston/labtest.svg Documentation Status Updates
Free software:

BSD license

Documentation:

https://labtest.readthedocs.io.

Overview

In short, LabTest deploys branch foo onto a server that others can reach at foo.test.example.com. This deployment is called an experiment.

There are three parts to LabTest: the server architecture (or laboratory), the command line client, and the configuration in the code repository.

The laboratory. This is the server environment that you control. LabTest has some templates to help you get started, but ultimately the laboratory’s environment is under your control. All LabTest needs is SSH access and Docker.

The configuration. The configuration instructs LabTest how to publish experiments. It sits in the code repository so any developer who works on the code can publish new experiments.

The client. The client is a command line tool that uses SSH and the configuration to create, list, update, and delete experiments in the laboratory.

Goals

  • Easy for developers to use

  • Easy to administrate

  • Flexible enough to conform to different team methodologies

Easy for developers to use. There are several parts to this. It should be require as few steps as possible to:

  • onboard a new developer

  • create, update, and delete experiments

  • convert a code base to use LabTest

Easy to administrate. LabTest only requires SSH access to the environment. Anything else you want to do is up to you.

Flexible. No two teams are alike. LabTest embraces this diversity by providing good defaults (for ease of use) with the ability to customize and extend (to make it your own).

What can you do with it?

Asynchronous evaluation of tickets. A developer can complete three tickets, in three different branches, and publish the three experiments for review by different people. As the tickets are completed, the branches can be merged and the experiments deleted in any order.

Quick evaluation of new ideas. Sometimes you just want to try something. LabTest makes it easy to demonstrate the idea.

Open evaluation to a greater audience. When the experiments are accessible from the internet, people don’t have to look over the developer’s shoulder to see the progress.

Credits

This package was created with Cookiecutter and the lgiordani/cookiecutter-pypackage project template.

History

0.1.0 (2018-04-23)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

labtest-0.3.4.tar.gz (246.9 kB view hashes)

Uploaded Source

Built Distribution

labtest-0.3.4-py2.py3-none-any.whl (20.7 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page