painless-continuous-delivery icon indicating copy to clipboard operation
painless-continuous-delivery copied to clipboard

A cookiecutter for projects with continuous delivery baked in.

============================ Painless Continuous Delivery

|gha-checks| |gha-tests| |health| |about|

A cookiecutter for projects with continuous delivery baked in.

.. |gha-checks| image:: https://github.com/painless-software/painless-continuous-delivery/actions/workflows/check.yml/badge.svg :target: https://github.com/painless-software/painless-continuous-delivery/actions/workflows/check.yml :alt: GitHub Workflow Status .. |gha-tests| image:: https://github.com/painless-software/painless-continuous-delivery/actions/workflows/test.yml/badge.svg :target: https://github.com/painless-software/painless-continuous-delivery/actions/workflows/test.yml :alt: GitHub Workflow Status .. |health| image:: https://img.shields.io/codacy/grade/a1695afba0254a8a987e85f9ae35fae1/main.svg :target: https://app.codacy.com/gh/painless-software/painless-continuous-delivery/dashboard :alt: Code health .. |about| image:: https://img.shields.io/badge/About-Painless_Continuous_Delivery-44a0dd.svg :target: https://slides.com/bittner/djangocon2017-painless-continuous-delivery/ :alt: Elevator pitch

Supported Technologies and Services

==================== ========================================================= Languages Python (generic, Django, Flask) .. Frontend Web technologies (JavaScript, CSS, Sass/SCSS) .. Java (Spring Boot) Version Control Git Repo Services Bitbucket .. GitHub .. GitLab CI Services Bitbucket - |bitbucket| .. GitLab CI - |gitlab-ci| App Platforms APPUiO (OpenShift) .. Rancher (Kubernetes) ==================== =========================================================

.. |bitbucket| image:: https://img.shields.io/bitbucket/pipelines/painless-software/painless-continuous-delivery/main.svg :target: https://bitbucket.org/painless-software/painless-continuous-delivery/addon/pipelines/home :alt: Bitbucket Pipelines .. |gitlab-ci| image:: https://img.shields.io/gitlab/pipeline/painless-software/painless-continuous-delivery/main.svg :target: https://gitlab.com/painless-software/painless-continuous-delivery/pipelines :alt: GitLab CI

Demos

Sample projects generated automatically on a daily basis: (field tests_)

  • Django ➜ GitLab CI ➜ APPUiO <https://gitlab.com/appuio/example-django>__
  • Spring Boot ➜ GitLab CI ➜ APPUiO <https://gitlab.com/appuio/example-springboot>__ (GitOps <https://gitlab.com/appuio/example-springboot-gitops>__)
  • Flask ➜ Bitbucket Pipelines ➜ APPUiO <https://bitbucket.org/appuio/example-flask>__

Usage

Install cookiecutter_:

.. code-block:: console

pip install cookiecutter

Generate a new Cookiecutter template layout:

.. code-block:: console

cookiecutter gh:painless-software/painless-continuous-delivery

Under The Hood

The underscore folders, e.g. {{cookiecutter.project_slug}}/_, contain files that are used to integrate optional content through template includes or by the post generate hook_, according to the choices made during the cookiecutter execution.

The generators folder contains scripts to pre-generate code skeletons that are integrated manually in this cookiecutter (e.g. framework setups).

Please refer to the README files in those folders for additional details.

How Can I Contribute?

See our contributing guide. Consult our Wiki for technology notes.

Credits

This project is brought to you by Painless Software_, a best-practice consultancy in software development. Less pain, more fun.

.. _field tests: tests/field/ .. _cookiecutter: https://github.com/cookiecutter/cookiecutter .. _post generate hook: hooks/post_gen_project.py .. _contributing guide: CONTRIBUTING.rst .. _Wiki: https://github.com/painless-software/painless-continuous-delivery/wiki .. _Painless Software: https://painless.software/