Skip to main content

Plumb together different CI/CD services

Project description

CI Plumber

CodeFactor PyPI - Python Version PyPI PyPI - Downloads python-app DOI

A tool to create and configure all of the stages of a CI/CD pipeline.

Current integrations:

  • Gitlab
  • Gitlab pipelines
  • Azure App Service
  • Azure Image Registry
  • Azure MariaDB
  • Openshift
  • Openshift MariaDB

Full documentation is available here.

Installation

pip install ci-plumber[all]

Requirements

  • oc CLI tool
  • az CLI tool

Usage

GitLab

# Initialise the project
ci-plumber gitlab init

OpenShift

# Deploy from the current docker registry to OpenShift
ci-plumber openshift deploy

# Create a new DB and store the credentials in maria.env
ci-plumber openshift create-db

Azure

# Log in to Azure
ci-plumber azure login

# List your Azure subscriptions
ci-plumber azure list-subscriptions

# Set the subscription to use
ci-plumber azure set-default-subscription

# Create a docker registry
ci-plumber azure create-registry

# Trigger a build and push
git add .
git commit -m "Added Azure CI file"
git tag -a v1.0.0 -m "Version 1.0.0"
git push --follow-tags

# Deploy to Azure
ci-plumber azure create-app

# Create a database and store the credentials in maria.env
ci-plumber azure create-db

Developing

Installation

# Install dependencies
$ poetry install
$ poetry shell

# Install git hooks
$ pre-commit install
$ pre-commit autoupdate
$ pre-commit run --all-files

# Symlink the plugins back to the main project
$ ln -s ./plugins/example/ci_plumber_example/ ./ci_plumber_example
$ ln -s ./plugins/gitlab/ci_plumber_gitlab/ ./ci_plumber_gitlab
$ ln -s ./plugins/openshift/ci_plumber_openshift/ ./ci_plumber_openshift
$ ln -s ./plugins/azure/ci_plumber_azure/ ./ci_plumber_azure

Features

  • Runs checks on commit
    • Flake8
    • Black
    • pre-commit-hooks checks
    • mypy
    • isort
  • Installable as a script

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

ci-plumber-1.4.2.tar.gz (10.0 kB view hashes)

Uploaded Source

Built Distribution

ci_plumber-1.4.2-py3-none-any.whl (12.4 kB view hashes)

Uploaded 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