Git Product home page Git Product logo

estafette

The estafette command line interface to run tons of commands locally for Estafette CI

Install

With Homebrew

First install Homebrew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

And docker:

brew install --cask docker

Then install the estafette cli with

brew install estafette/stable/estafette

Updating to the latest can be done with

brew upgrade

With GoFish

First install GoFish:

MacOS/Linux

curl -fsSL https://raw.githubusercontent.com/fishworks/gofish/main/scripts/install.sh | bash
gofish init

Windows

Set-ExecutionPolicy Bypass -Scope Process -Force
iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/fishworks/gofish/main/scripts/install.ps1'))
gofish init

Then install the estafette cli with

gofish rig add https://github.com/estafette/fish-food
gofish install estafette

If you already have it installed upgrade to the latest and greatest with

gofish upgrade

From source

go install github.com/estafette/estafette

Usage

Run estafette help to see what commands are available.

Validate

To check whether your .estafette.yaml manifest file is valid run

estafette validate

Build

To build the .estafette.yaml manifest locally run

estafette build

This will only run the first stage; if you want to run more stages pass the stages names as a comma separated list

estafette build restore,build,test

Do realize your local build doesn't have access to the same credentials the Estafette CI server has so you won't be able to build all stages.

Development

For local development when running go build . the generated binary can be used with

./estafette help

Development versions get released as a pre-release version on github for each commit and have their brew formular updates in a development tap repository. You can install it via

brew install estafette/dev/estafette-dev

And then use it with

estafette-dev help

Releases

Official releases are performed by creating and pushing a branch with the same version as specified in version.semver.releaseBranch.

Estafette's Projects

docker-golang icon docker-golang

Docker container to build windowsservercore-ltsc2019 golang image

docker-hugo icon docker-hugo

A container with Hugo static site generator to update our Github pages documentation at estafette.io

envoyproxy icon envoyproxy

Sidecar to offload tls, emit prometheus metrics

estafette-ci icon estafette-ci

The overarching project for Estafette CI; used for tracking issues

estafette-ci-api icon estafette-ci-api

The API of the CI system that handles all incoming webhooks, bot request, UI requests, etc

estafette-ci-crypt icon estafette-ci-crypt

This library has encryption/decryption helpers for Estafette secrets stored in plain sight

estafette-ci-manifest icon estafette-ci-manifest

A library with the logic to deserialize the Estafette manifest, so it can be used from both the api and the builder

estafette-ci-operator icon estafette-ci-operator

The Estafette CI operator can perform upgrades to all components that together form the Estafette CI system and handle configuration through CRDs

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.