All Projects → octplane → Small Deployer

octplane / Small Deployer

Licence: mit
Git Webhook client, in rust.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Small Deployer

Rooks
Essential hooks ⚓ to super charge your components!
Stars: ✭ 889 (+2863.33%)
Mutual labels:  hooks
Genesis Simple Hook Guide
WordPress plugin that displays names of all Genesis hooks on the current page dynamically.
Stars: ✭ 25 (-16.67%)
Mutual labels:  hooks
Tinytcpserver
A small tcp server working under Mono or .NET (4.0) and provides hooks for handling data exchange with clients (works under mono and .net). Behaviour/protocol/reaction could be specified via custom C# script.
Stars: ✭ 14 (-53.33%)
Mutual labels:  hooks
Cargo Tomlfmt
Formatting Cargo.toml
Stars: ✭ 18 (-40%)
Mutual labels:  cargo
Flagchecker
For effective cheating detection in competitions. Utilizes Linux Kernel Module (LKM) for generating flags.
Stars: ✭ 24 (-20%)
Mutual labels:  hooks
Fisher
Simple yet powerful webhooks catcher
Stars: ✭ 11 (-63.33%)
Mutual labels:  hooks
React Latest Framework
a client framework of React
Stars: ✭ 835 (+2683.33%)
Mutual labels:  hooks
Use Dark Mode
A custom React Hook to help you implement a "dark mode" component.
Stars: ✭ 949 (+3063.33%)
Mutual labels:  hooks
Awesome React Hooks
A curated list about React Hooks
Stars: ✭ 932 (+3006.67%)
Mutual labels:  hooks
Rust Android Gradle
Stars: ✭ 14 (-53.33%)
Mutual labels:  cargo
Usestatewithlayoutanimation
Abstraction for `React Native`'s `LayoutAnimation` and `useState`
Stars: ✭ 19 (-36.67%)
Mutual labels:  hooks
Snm
🤏 Smol Node Manager written in Rust
Stars: ✭ 24 (-20%)
Mutual labels:  cargo
Axios Hooks
🦆 React hooks for axios
Stars: ✭ 862 (+2773.33%)
Mutual labels:  hooks
Cargo Make
Rust task runner and build tool.
Stars: ✭ 895 (+2883.33%)
Mutual labels:  cargo
Use Instance
A custom React Hook that provides a sensible alternative to useRef for storing instance variables.
Stars: ✭ 28 (-6.67%)
Mutual labels:  hooks
Cargo Expand
Subcommand to show result of macro expansion
Stars: ✭ 886 (+2853.33%)
Mutual labels:  cargo
Xargo
The sysroot manager that lets you build and customize `std`
Stars: ✭ 841 (+2703.33%)
Mutual labels:  cargo
Tng Hooks
Provides React-inspired 'hooks' like useState(..) for stand-alone functions
Stars: ✭ 954 (+3080%)
Mutual labels:  hooks
Use Persisted State
A custom React Hook that provides a multi-instance, multi-tab/browser shared and persistent state.
Stars: ✭ 943 (+3043.33%)
Mutual labels:  hooks
My React Hooks
React/Preact/Orby.js Hooks I used in personal projects, all in public domain form. Copy and paste or do as you wish.
Stars: ✭ 14 (-53.33%)
Mutual labels:  hooks

Small Deployer

![](assets/logo.png)

This is a git webhook client in rust. It can be used to deploy your application automatically or anything you'd like to run after a commit.

Current compatible with Github and Gitlab hooks.

Clippy Linting Result

FEATURES

  • listens on /hook/ port 5000 for http requests
  • matches project name against configured project in config.json
  • runs the corresponding command and arguments as configured in config.json
  • dumps the result of this run in console, including stderr, stdout
  • can send the result of the the run on slack
  • allow at most one deploy per application at the same time: if there are two commits arriving at the same time, the second one will be put on hold until the first deploy has completed. Also, if two commits arrive during a deploy, the deployer will only deploy one more time, not twice.
  • support branch commits to deploy the same application with several branches

BUILD INSIDE DOCKER

docker run --rm -it -v $(pwd):/source octplane/rust

apt-get update && apt-get install -y libcurl4-gnutls-dev cargo build

RUN

  • cargo run

TEST

Test a sample commit:

curl -X POST -d @sample.json http://127.0.0.1:5000/hook/

TODO

  • integrate with logger:
    • outputs: deploy preamble:
      • hook information (branch, commit, date, user)
      • pwd
  • starts web interface
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].