Top 19 Cd Open-Source Projects

  • GitHub repo Go

    Main repository for GoCD - Continuous Delivery server

    Project mention: Ask HN: How do you keep track of releases/deployments of dozens micro-services? | news.ycombinator.com | 2021-04-20
  • GitHub repo argo-cd

    Declarative continuous deployment for Kubernetes.

    Project mention: Configuring ArgoCD on Amazon EKS | dev.to | 2021-04-17

    stages: - init - deploy variables: KUBECTL_VERSION: 1.20.5 ARGOCD_VERSION: 1.7.4 ARGOCD_ADDR: argocd.example.com # Get ArgoCD credentials from Secret Manager before_script: - export AROGOCD_TOKEN="$(aws secretsmanager get-secret-value --secret-id argocd-token --version-stage AWSCURRENT --query SecretString --output text)" # install kubectl - curl -L "https://storage.googleapis.com/kubernetes-release/release/v${KUBECTL_VERSION}/bin/linux/amd64/kubectl" -o /usr/bin/kubectl # install argocd - curl -sSL -o /usr/local/bin/argocd "https://github.com/argoproj/argo-cd/releases/download/v${ARGOCD_VERSION}/argocd-linux-amd64" init demo project 🔬: stage: init when: manual image: name: amazon/aws-cli script: - argocd cluster add $BUSINESS_K8S_CONTEXT --name business-cluster-dev --kubeconfig $KUBE_CONFIG --auth-token=${AROGOCD_TOKEN} --server ${ARGOCD_ADDR} || echo 'cluster already added' tags: - k8s-dev-runner only: - master deploy demo project 🚀: stage: init when: manual image: name: amazon/aws-cli script: - sed -i "s,,$BUSINESS_K8S_CLUSTER_URL,g;s,,$CI_PROJECT_URL.git,g" application.yaml # Connect to aws eks devops cluster - aws eks update-kubeconfig --region $AWS_REGION --name $EKS_CLUSTER_NAME # Create ArgoCD project - argocd proj create demo-dev -d $KUBERNETES_CLUSTER_URL,app-dev -s $CI_PROJECT_URL.git --auth-token=${AROGOCD_TOKEN} --server ${ARGOCD_ADDR} || echo 'project already created' # Create ArgoCD application - kubectl apply -n argocd -f application.yaml tags: - k8s-dev-runner only: - master deploy demo app 🌐: stage: deploy image: name: amazon/aws-cli script: - cd envs/dev - argocd app sync demo-dev --auth-token=${AROGOCD_TOKEN} --server ${ARGOCD_ADDR} tags: - k8s-dev-runner only: - tags

  • GitHub repo z.lua

    :zap: A new cd command that helps you navigate faster by learning your habits.

    Project mention: What is your cd system? | reddit.com/r/commandline | 2021-04-16

    I used to keep some directory bookmarks with apparix, but nowadays I just use z.lua.

  • GitHub repo enhancd

    :rocket: A next-generation cd command with your interactive filter

    Project mention: Show HN: A hackable, minimal, fast TUI file explorer | news.ycombinator.com | 2021-04-05

    This is really cool! I use a similar tool for fuzzy cd[0]. At the moment I'm trying to use broot[1] as my directory browser but I might consider trying this too

    [0]: https://github.com/b4b4r07/enhancd

  • GitHub repo automatic-ripping-machine

    Automatic Ripping Machine (ARM) Scripts

    Project mention: Finally finished my personal server build! | reddit.com/r/homelab | 2021-04-29

    Been using this program and really like it.

  • GitHub repo abstruse

    Abstruse is a free and open-source CI/CD platform that tests your models and code.

    Project mention: news.ycombinator.com | 2021-02-03

    - Tools for MLOps, DevOps: Python, Golang (check this OSS ML/Dev Ops tool: https://github.com/bleenco/abstruse)

  • GitHub repo jenkins-rest

    Java client, built on top of jclouds, for working with Jenkins REST API

    Project mention: Which Java libraries would benefit from being Kotlin-ified? | reddit.com/r/Kotlin | 2021-05-01

    Though, I definitely want to port over the GitHub and Jenkins libraries (at least). I've used multiple Java-based GitHub libraries along with the Jenkins REST wrapper library, and I feel that they leave much to be desired, IMHO. Plus, an idiomatic Kotlin version of these might actually turn out to be better overall. . . .

  • GitHub repo gitlab-ci-local

    Tired of pushing to test your .gitlab-ci.yml?

    Project mention: firecow/gitlab-ci-local : Tired of pushing to test your .gitlab-ci.yml? | reddit.com/r/devel | 2021-03-03
  • GitHub repo pypyr automation task runner

    pypyr task-runner cli & api for automation pipelines. Automate anything by combining commands, different scripts in different languages & applications into one pipeline process.

  • GitHub repo pipelines

    Build pipelines for automation, deployment, testing... (by Wiredcraft)

  • GitHub repo abs_cd

    CI/CD for the Arch build system with webinterface.

    Project mention: ROS OS support be like | reddit.com/r/ROS | 2021-03-27

    You can find the CD status on https://abs-cd.oscloud.info/

  • GitHub repo dev.to

    [Template] My dev.to articles

    Project mention: First post and IT'S AUTOMATED | dev.to | 2020-10-30

    Here, it is all upto you. You want to create a repo for each blog post or a mono repo with all dev.to blog posts. You can start from scratch and add a package.json and a workflow yaml or you can use Maxime's dev.to template. The template is really helpful if you don't want to spend time setting things up. You can simply clone it and start writing. Maxime's template works for Travis CI so, we will start from scratch this time and refer to beeman's blog for github actions.

  • GitHub repo changie

    Automated changelog tool for preparing releases with lots of customization options

    Project mention: CLI tools FTW (or: how to distribute your CLI tools with goreleaser) - Applied Go | reddit.com/r/golang | 2021-04-27

    Nice post, goreleaser was one of the reasons I use Go in my changelog tool changie. Changie is an alternative changelog generation that can be used with or without goreleaser (listed here). There is a Github action for automating releases with goreleaser as well which is great.

  • GitHub repo goat

    POSIX-compliant shell movement boosting hack for real ninjas (aka `cd x` and `cd ...`) (by 0mp)

    Project mention: How to navigate directories faster with Bash (2015) | news.ycombinator.com | 2021-04-22

    I use (and develop) `goat`. It's like a shortcut manager for aliases for directories you go to often. And a way to make "cd ...." work for any number of dots.

    https://github.com/0mp/goat

  • GitHub repo kn

    `cd` alternative. Navigate by typing abbreviation of paths.

    Project mention: kn 0.1.0 | My `cd` alternative. Navigate by typing abbreviations of paths. | reddit.com/r/rust | 2021-04-14

    Then configure your shell.

  • GitHub repo tekton-kickstarter

    Templates, scripts and samples for quickly building CI/CD with Tekton.

    Project mention: Cloud Native CI/CD with Tekton - Building Custom Tasks | dev.to | 2021-04-14

    # https://github.com/MartinHeinz/tekton-kickstarter/blob/master/misc/config.yaml apiVersion: v1 kind: ConfigMap metadata: name: repo-app-mapping data: repo-app-mapping.yaml: | '[email protected]:kelseyhightower/nocode.git': 'nocode' '[email protected]:MartinHeinz/blog-frontend.git': 'blog-backend' '[email protected]:MartinHeinz/game-server-operator.git': 'game-server-operator' '[email protected]:MartinHeinz/python-project-blueprint.git': 'sample-python-app' --- # https://github.com/MartinHeinz/tekton-kickstarter/blob/master/tasks/get-application-name/get-application-name.yaml apiVersion: tekton.dev/v1beta1 kind: ClusterTask metadata: name: get-application-name spec: params: - name: repository-url type: string - name: mapping-file type: string steps: - name: get-application-name image: mikefarah/yq script: | #!/usr/bin/env sh set -xe yq e '."$(params.repository-url)"' /config/$(params.mapping-file) | tr -d '\012\015' > /tekton/results/application-name results: - name: application-name # Can be accessed by other Tasks with $(tasks.get-application-name.results.application-name) workspaces: - name: config mountPath: /config

  • GitHub repo dev

    Using GitHub Actions use GitHub Pages to host your Flutter Web app. And much more.

    Project mention: GitHub Action for Flutter Web | dev.to | 2020-09-07

    himanshusharma89 / dev

  • GitHub repo stewardx

    Scheduled Task Executor With Asynchronous Runtime and Database X

    Project mention: I'm building an Automation System - StewardX! | reddit.com/r/rust | 2021-05-02

    TLDR: StewardX is a automation system with a database. Think of cronjobs or Jenkins, but written in pure Rust and can be scaled to do much more than Jenkins or cronjobs.

  • GitHub repo NomadJobUpdater

    Converts a hcl file to json and posts it to the nomad managers to update/add a job.

    Project mention: Can 1 Traefik Container Manage 2 Docker Instances? | reddit.com/r/Traefik | 2021-04-26

    Side note: If you want to auto deploy nomad jobs using a CI tool like gitlab CI or Jenkins you find you can not push a nomad job as a hcl file directly to it's API. I've also created a small open source project for this which you can find on github as well.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-05-02.

Index

What are some of the best open-source Cd projects? This list will help you:

Project Stars
1 Go 6,082
2 argo-cd 5,907
3 z.lua 1,971
4 enhancd 1,923
5 automatic-ripping-machine 916
6 abstruse 724
7 jenkins-rest 208
8 gitlab-ci-local 185
9 pypyr automation task runner 181
10 pipelines 105
11 abs_cd 59
12 dev.to 47
13 changie 41
14 goat 28
15 kn 20
16 tekton-kickstarter 15
17 dev 3
18 stewardx 3
19 NomadJobUpdater 0