https://github.com/pbexe/ci-plumber
https://github.com/pbexe/ci-plumber
azure continuous-delivery continuous-integration gitlab openshift python
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/pbexe/ci-plumber
- Owner: pbexe
- Created: 2021-08-05T11:49:33.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2023-01-20T07:23:52.000Z (over 3 years ago)
- Last Synced: 2025-05-10T04:23:46.394Z (about 1 year ago)
- Topics: azure, continuous-delivery, continuous-integration, gitlab, openshift, python
- Language: Python
- Homepage: https://milesbudden.com/ci-plumber/
- Size: 605 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CI Plumber
[](https://www.codefactor.io/repository/github/pbexe/ci-plumber)    [](https://github.com/pbexe/ci-plumber/actions/workflows/python-app.yml) [](https://doi.org/10.5281/zenodo.5545987)
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](https://milesbudden.com/ci-plumber/).
## Installation
```sh
pip install ci-plumber[all]
```
### Requirements
- `oc` CLI tool
- `az` CLI tool
## Usage
### GitLab
```sh
# Initialise the project
ci-plumber gitlab init
```
### OpenShift
```sh
# 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
```sh
# 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
```sh
# 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