All Projects → techknowlogick → gitea-buildkite-connector

techknowlogick / gitea-buildkite-connector

Licence: other
Connect Gitea & Buildkite

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to gitea-buildkite-connector

pybuildkite
A Python library for the Buildkite API
Stars: ✭ 29 (+81.25%)
Mutual labels:  continuous-integration, buildkite
on-demand
CloudFormation resources for scheduling On-Demand Buildkite Agents with AWS ECS and AWS Fargate
Stars: ✭ 19 (+18.75%)
Mutual labels:  continuous-integration, buildkite
Phpci
PHPCI is a free and open source continuous integration tool specifically designed for PHP.
Stars: ✭ 2,437 (+15131.25%)
Mutual labels:  continuous-integration
javascript-test-reporter
DEPRECATED Code Climate test reporter client for JavaScript projects
Stars: ✭ 68 (+325%)
Mutual labels:  continuous-integration
emaci
Scheduler for compilations in emacs.
Stars: ✭ 12 (-25%)
Mutual labels:  continuous-integration
Screenshots
Screenshots: A command line utility and package for capturing screenshots for Flutter
Stars: ✭ 225 (+1306.25%)
Mutual labels:  continuous-integration
typo3-typoscript-lint
Find coding errors in your TypoScript files.
Stars: ✭ 78 (+387.5%)
Mutual labels:  continuous-integration
Testground
🧪 A platform for testing, benchmarking, and simulating distributed and p2p systems at scale.
Stars: ✭ 216 (+1250%)
Mutual labels:  continuous-integration
ci
🐳 Dockette dockerized Alpine linux Dockerfiles for PHP 5.6-8.2 + Composer. NodeJS 6-18. Ansible.
Stars: ✭ 18 (+12.5%)
Mutual labels:  continuous-integration
Awesome Ci
Awesome Continuous Integration - Lot's of tools for git, file and static source code analysis.
Stars: ✭ 254 (+1487.5%)
Mutual labels:  continuous-integration
Chartboard
Simple dashboard to show widget chart
Stars: ✭ 23 (+43.75%)
Mutual labels:  continuous-integration
Webhookd
A very simple webhook server launching shell scripts.
Stars: ✭ 250 (+1462.5%)
Mutual labels:  continuous-integration
Flagsmith Api
Feature flagging and remote config service. Host yourself or use our hosted version at https://www.flagsmith.com/
Stars: ✭ 223 (+1293.75%)
Mutual labels:  continuous-integration
memcheck-cover
An HTML generator for Valgrind's Memcheck tool
Stars: ✭ 30 (+87.5%)
Mutual labels:  continuous-integration
Awesome Ci
List of Continuous Integration services
Stars: ✭ 2,737 (+17006.25%)
Mutual labels:  continuous-integration
setup-lazarus
Set up your GitHub Actions workflow with a specific version of Lazarus
Stars: ✭ 29 (+81.25%)
Mutual labels:  continuous-integration
Rocket
Automated software delivery as fast and easy as possible 🚀
Stars: ✭ 217 (+1256.25%)
Mutual labels:  continuous-integration
Rok8s Scripts
Opinionated scripts for managing application deployment lifecycle in Kubernetes
Stars: ✭ 248 (+1450%)
Mutual labels:  continuous-integration
flagsmith
Open Source Feature Flagging and Remote Config Service. Host on-prem or use our hosted version at https://flagsmith.com/
Stars: ✭ 2,309 (+14331.25%)
Mutual labels:  continuous-integration
codemagic-docs
Here you’ll find some essential information for setting up CI/CD for your mobile apps with Codemagic.
Stars: ✭ 63 (+293.75%)
Mutual labels:  continuous-integration

Gitea/Buildkite Connector

OpenFaaS functions that connect Gitea and Bulidkite to trigger builds and report build statuses back

Getting started

Create Secrets

First you'll need to create the secrets that that once deployed the functions can start to work

  • Buildkite API Key

Go to Bulidkite Settings and create an API key that has write_builds REST scope

faas secret create buildkite-token --from-literal "BUILDKITE_API_KEY"

  • Buildkite Webhook Secret

This is a shared secret that'll verify data sent to function. You can choose what to make this string, just make sure to make it secure

faas secret create buildkite-secret --from-literal "BUILDKITE_WEBHOOK_SECRET"

  • Gitea API Key

Go to Gitea user application settings https://gitea.example.com/user/settings/applications and create an API token

faas secret create gitea-token --from-literal "GITEA_API_KEY"

  • Gitea Webhook Secret

This is a shared secret that'll verify data sent to function. You can choose what to make this string, just make sure to make it secure

faas secret create gitea-secret --from-literal "GITEA_WEBHOOK_SECRET"

  • Gitea API Base

This is the URL to the Gitea install so that API calls know where to call

faas secret create gitea-api-base --from-literal "https://gitea.example.com"

Deploy your function

Just like any OpenFaaS function, just deploy the function using faas deploy -f stack.yml

Setup Webhooks

Now that secrets have been made, you'll need to create webhooks in both Gitea and Buildkite

Create Buildkite Webhook

First go to the "Notification Services" page of your Org settings, create a "Webhook" with all of the "Build" events checked, and select the specific pipeline that is connected to your repo.

Add two querystring params to your function URL org_slug=username_or_org_slug_from_gitea and repo=repo_slug_from_gitea, and then use that as URL for webhook. It'll end up looking something like: https://openfaas.example.com/function/buildkitehook?org_slug=repo_slug_from_gitea&repo=repo_slug_from_gitea

Finally, add the secret you created above as the webhook token.

Now that the Buildkite webhook has been created, the status of your builds will be reported back to Gitea.

Create Buildkite Webhook

Go to the webhook settings section of repo settings and create a new "Gitea" webhook. Only select "Push Events" to trigger on.

Just like with the buildkite webhook, you'll need to add several querystring params to the function URL. secret=GITEA_WEBHOOK_SECRET, org_slug=buildkite_org_slug, and pipeline=buildkite_pipeline_slug, so it'll end up looking like https://openfaas.example.com/function/giteahook?secret=GITEA_WEBHOOK_SECRET&org_slug=buildkite_org_slug&pipeline=buildkite_pipeline_slug

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].