Skip to content
@elcicd

el-CICD

Enterprise COTS CI/CD solution.

Overview of features and documentation for understanding, operating, and developing within el-CICD.

Preamble

This document is part of the el-CICD Project, a complete CICD COTS solution for OKD, The Community Distribution of Kubernetes that powers Red Hat Openshift

Copyright (C) 2024 Evan "Hippy" Slatis
email: hippyod -at- yahoo -dot- com

===================================

Red Hat® OpenShift® Platform is a trademark of Red Hat, Inc., and supported and owned by Red Hat, Inc.

el-CICD IS NEITHER SUPPORTED OR AFFILIATED IN ANY WAY WITH RED HAT, INC., OR ANY OF ITS PROJECTS.

===================================

License

el-CICD is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to

    The Free Software Foundation, Inc.
    51 Franklin Street
    Fifth Floor
    Boston, MA
        02110-1301

This document is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit

http://creativecommons.org/licenses/by/4.0/

or send a letter to

  Creative Commons
  PO Box 1866
  Mountain View, CA
      94042

PREFACE

The documents in the el-CICD-docs repository describe the motivation, design, and implementation of a fully featured CICD COTS solution for use on either the upstream OKD or on Red Hat® OpenShift®, either 3.11 or 4.x. Wherever OKD is referenced, OpenShift may be safely inferred. Barring some minor configuration, there should be no difference in how the the system works on either platform.

el-CICD supports the following features:

  • DevOps Support

    • Automated bootstrapping of servers
    • Automated Jenkins And Jenkins Agent image builds
    • Automated and extensible framework for setting and rotating credentials
    • Extensible framework of build and deployment pipelines
    • Easy to enforce standards within a project or across an organization
    • Automated and configurable support for creation and management of NFS Persistent Volumes
    • Automated and configurable support for management of ResourceQuotas per Project and namespace
    • Configurable set of SDLC environments per installation and, to a lesser degree, per Project
    • Automated support for deployment, rollback, and roll forward of complete applications in production
    • Simplified support of applications to more than one cluster
    • Hotfixing support for deployments in production
  • Development Support

    • Automated building, testing, scanning, and deployment for libraries and microservices
    • Vastly simplified deployment configuration framework for developers: development team focus should remain on business requirements
    • Sandbox deployments for developers to test
    • Deployment of encrypted Secrets from Git
    • Automated branching, tagging, and synchronization of deployment configurations in Git and Docker image repositories
    • Automated promotion of images across SDLC environments and/or OKD clusters
    • Roll-forward and roll-back functionality
    • Incremental and versioned patching of deployments in downstream SDLC environments

el-CICD Documentation

  • Foundations
    Explains the basic concepts, design, and architecture behind el-CICD. Also lists supporting, 3rd party projects incorporated into el-CICD.

  • Operating Manual
    For cluster and CICD server administrators explaining el-CICD DevOps. How to bootstrap, maintain, and manage el-CICD.

  • Developer Guide
    Everything a developer needs to know to integrate their Projects into el-CICD for fully automated SDLC support and deployment from commiting to their Development Branch to creating a Release Candidate for promotion to Prod.

  • Tutorial
    The easiest and fastest way to learn most of what el-CICD has to offer on your own, local cluster using Red Hat CodeReady Containers.

TODO

Features not supported, but coming soon:

  • GitLab and Bitbucket support

    • Only GitHub is currently supported
  • Vanilla Kubernetes deployments

    • Final deployments of end-user projects can be Kubernetes neutral, but el-CICD currently installs and runs only on OKD/OpenShift clusters
  • Helm support

    • el-CICD provides an easy to use and flexible system of templated Kubernetes and OKD Resources, but we realize this is not the be all/end all for defining deployment configurations.
  • More fine-grained RBAC control of SDLC environments and promotions

    • Access to development and test environments within a Project is currently restricted for a single RBAC group. In the future, el-CICD will support differing group access definitions between development and test environments and pipelines.

Pinned Loading

  1. el-CICD-RELEASES el-CICD-RELEASES Public

  2. el-CICD-docs el-CICD-docs Public

    Shell 1

  3. el-CICD el-CICD Public

    A Jenkins shared library that powers el-CICD pipelines.

    Groovy 5 1

  4. el-CICD-config el-CICD-config Public

    Groovy 1

  5. el-CICD-deploy el-CICD-deploy Public

    All-in-one Helm chart supporting deployment profiles and variables in values.yaml files

    Smarty

Repositories

Showing 10 of 15 repositories
  • el-CICD-deploy Public

    All-in-one Helm chart supporting deployment profiles and variables in values.yaml files

    elcicd/el-CICD-deploy’s past year of commit activity
    Smarty 0 LGPL-2.1 0 0 0 Updated Oct 19, 2024
  • el-CICD Public

    A Jenkins shared library that powers el-CICD pipelines.

    elcicd/el-CICD’s past year of commit activity
    Groovy 5 LGPL-2.1 1 0 0 Updated Oct 5, 2024
  • test-cicd-stationdemo Public

    spring boot test component for el-cicd

    elcicd/test-cicd-stationdemo’s past year of commit activity
    Java 0 GPL-2.0 0 0 0 Updated Aug 22, 2024
  • elcicd/Test_CICD4’s past year of commit activity
    Python 0 GPL-2.0 0 0 0 Updated Aug 9, 2024
  • elcicd/TeSt-CiCd3’s past year of commit activity
    Python 0 GPL-2.0 0 0 0 Updated Aug 9, 2024
  • elcicd/test_CICD2’s past year of commit activity
    Python 0 GPL-2.0 0 0 0 Updated Aug 9, 2024
  • elcicd/el-CICD-config’s past year of commit activity
    Groovy 0 1 1 0 Updated Aug 8, 2024
  • test-cicd-R Public

    el-CICD R-language test microservice

    elcicd/test-cicd-R’s past year of commit activity
    R 0 GPL-2.0 0 0 0 Updated Aug 8, 2024
  • .github Public
    elcicd/.github’s past year of commit activity
    0 LGPL-2.1 0 0 0 Updated Aug 7, 2024
  • elcicd/cicd-demo’s past year of commit activity
    0 LGPL-2.1 0 0 0 Updated Dec 4, 2023

Top languages

Loading…

Most used topics

Loading…