All Projects → openshift-pipelines → pipelines-as-code

openshift-pipelines / pipelines-as-code

Licence: Apache-2.0 License
Pipelines as Code

Programming Languages

go
31211 projects - #10 most used programming language
python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to pipelines-as-code

Lambdacd
a library to define a continuous delivery pipeline in code
Stars: ✭ 655 (+1670.27%)
Mutual labels:  pipeline, continuous-delivery, ci
Gitlab Ci Pipeline Php
☕️ Docker images for test PHP applications with Gitlab CI (or any other CI platform!)
Stars: ✭ 451 (+1118.92%)
Mutual labels:  gitlab, continuous-delivery, ci
Jx
Jenkins X provides automated CI+CD for Kubernetes with Preview Environments on Pull Requests using Cloud Native pipelines from Tekton
Stars: ✭ 4,041 (+10821.62%)
Mutual labels:  pipeline, continuous-delivery, tekton
Cimonitor
Displays CI statuses on a dashboard and triggers fun modules representing the status!
Stars: ✭ 34 (-8.11%)
Mutual labels:  gitlab, pipeline, ci
Gitlab Ci Local
Tired of pushing to test your .gitlab-ci.yml?
Stars: ✭ 134 (+262.16%)
Mutual labels:  gitlab, pipeline, ci
k8s-knative-gitlab-harbor
Build container images with Knative + Gitlab + Harbor inside Kops cluster running on AWS
Stars: ✭ 23 (-37.84%)
Mutual labels:  gitlab, tekton, tekton-pipelines
Lastbackend
System for containerized apps management. From build to scaling.
Stars: ✭ 1,536 (+4051.35%)
Mutual labels:  pipeline, continuous-delivery, ci
Gitlab Dashboard
📺 TV dashboard for a global view on Gitlab Pipelines
Stars: ✭ 107 (+189.19%)
Mutual labels:  gitlab, pipeline, ci
cicdstatemgr
Utility for managing CICD state, sending notifications, and mediating Slack interactive messages & slash commands across multiple flows of execution in CICD platforms such as Tekton.
Stars: ✭ 25 (-32.43%)
Mutual labels:  continuous-delivery, tekton, tekton-pipelines
Hands On Devops
A hands-on DevOps course covering the culture, methods and repeated practices of modern software development involving Packer, Vagrant, VirtualBox, Ansible, Kubernetes, K3s, MetalLB, Traefik, Docker-Compose, Docker, Taiga, GitLab, Drone CI, SonarQube, Selenium, InSpec, Alpine 3.10, Ubuntu-bionic, CentOS 7...
Stars: ✭ 196 (+429.73%)
Mutual labels:  gitlab, pipeline, continuous-delivery
swarmci
Swarm CI - Docker Swarm-based CI system or enhancement to existing systems.
Stars: ✭ 48 (+29.73%)
Mutual labels:  pipeline, continuous-delivery, ci
ofcourse
A Concourse resource generator
Stars: ✭ 41 (+10.81%)
Mutual labels:  continuous-delivery, ci
plumbing
This repo holds configuration for infrastructure used across the tektoncd org 🏗️
Stars: ✭ 41 (+10.81%)
Mutual labels:  pipeline, tekton
one-click-microservice
A starting point for automating the creation of microservices and all its Ops costs with a single click.
Stars: ✭ 27 (-27.03%)
Mutual labels:  pipelines-as-code, continuous-delivery
build-plugin-template
Template repository to create new Netlify Build plugins.
Stars: ✭ 26 (-29.73%)
Mutual labels:  continuous-delivery, ci
kubedock
Kubedock is a minimal implementation of the docker api that will orchestrate containers on a Kubernetes cluster, rather than running containers locally.
Stars: ✭ 79 (+113.51%)
Mutual labels:  ci, tekton
community-edition
Zebrunner is a Test Automation Management Tool
Stars: ✭ 171 (+362.16%)
Mutual labels:  pipelines-as-code, continuous-delivery
www.go.cd
Github pages repo
Stars: ✭ 39 (+5.41%)
Mutual labels:  continuous-delivery, ci
lines
A pure bash clojureish CI pipeline
Stars: ✭ 72 (+94.59%)
Mutual labels:  pipeline, ci
flow-platform-x
Continuous Integration Platform
Stars: ✭ 21 (-43.24%)
Mutual labels:  pipeline, ci

Pipelines as Code

Container Repository on Quay codecov Go Report Card E2E Tests

Pipelines as Code -- An opinionated CI based on OpenShift Pipelines / Tekton.

Full documentation is available from https://pipelinesascode.com

Introduction

Pipelines as Code let you use the Pipelines as Code flow directly with OpenShift Pipelines.

The goal of Pipelines as Code is to let you define your Tekton templates inside your source code repository and have the pipeline run and report the status of the execution when triggered by a Pull Request or a Push.

Pipelines as Code features:

  • Pull-request status support: When iterating over a Pull Request, status and control is done on the platform.

  • GitHub Checks API support to set the status of a PipelineRun including rechecks

  • GitHub Pull Request and Commit event support

  • Pull-request actions in comments such as /retest

  • Git events filtering and support for separate pipelines for each event

  • Automatic Task resolution in Pipelines (local Tasks, Tekton Hub and remote URLs)

  • Efficient use of GitHub blobs and objects API for retrieving configurations

  • ACL over a GitHub organization or via a Prow style OWNER file.

  • tkn-pac plugin for Tekton CLI for managing pipelines-as-code repositories and bootstrapping.

  • Gitlab, Bitbucket Server, Bitbucket Cloud and Github via Webhook support.

Installation Guide

The easiest way to get started is to use the tkn pac CLI and its bootstrap command.

Download and install first the tkn-pac CLI following these instructions.

Connected to your cluster launch the command :

-$ tkn pac bootstrap

and follow the questions and installation methods which will install Pipelines as Code on cluster and help you create a Github Application.

feel free to look over the --help to see the different options on how to install for example on Github Enterprise.

This 10 minute video will guide you thought the tkn-pac bootstrap flow :

Getting started to Pipelines as Code

For more details on the different installation method please follow this document for installing Pipelines as Code on OpenShift.

Getting Started

The flow for using pipelines as code generally begins with admin installing the Pipelines-as-Code infrastructure, creating a GitHub App and sharing the GitHub App url across the organization for app teams to enable the app on their GitHub repositories.

In order to enable the GitHub App provided by admin on your Git repository as documented here. Otherwise you can go to the Settings > Applications and then click on Configure button near the GitHub App you had created. In the Repository access section, select the repositories that you want to enable and have access to Pipelines-as-code.

Once you have enabled your GitHub App for your GitHub repository, you can use the pac Tekton CLI plugin to bootstrap pipelines as code:

$ git clone https://github.com/siamaksade/pipeline-as-code-demo
$ cd pipeline-as-code-demo
$ tkn pac repository create

? Enter the namespace where the pipeline should run (default: pipelines-as-code):  demo
? Enter the Git repository url containing the pipelines (default: https://github.com/siamaksade/pipeline-as-code-demo):
? Enter the target GIT branch (default: main):
? Enter the Git event type for triggering the pipeline:  pull_request
! Namespace demo is not created yet
? Would you like me to create the namespace demo? Yes
✓ Repository pipeline-as-code-demo-pull-request has been created in demo namespace
? Would you like me to create a basic PipelineRun file into the file .tekton/pull_request.yaml ? True
✓ A basic template has been created in /Users/ssadeghi/Projects/pipelines/pac-demo/.tekton/pull_request.yaml, feel free to customize it.
ℹ You can test your pipeline manually with : tkn-pac resolve -f .tekton/pull_request.yaml | kubectl create -f-
ℹ Don't forget to install the GitHub application into your repo https://github.com/siamaksade/pipeline-as-code-demo
✓ and we are done! enjoy :)))

The above command would create a Repository CRD in your demo namespace which is used to determine where the PipelineRuns for your GitHub repository should run. It also generates an example pipeline in the .tekton folder. Commit and push the pipeline to your repo to start using pipelines as code.

Note that even if installing via Github application is the preferred installation method, Pipeline As Code supports other methods :

  • Github direct Webhook
  • Gitlab public and private instances.
  • Bitbucket Cloud
  • Bitbucket Server

see the INSTALL guide more details on each install method.

Usage Guide

The usage guide available here offer a comprehensive documentation on how to use and configure Pipeline As Code.

A walkthought video is available here.

Videos/Blog Posts

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].