All Projects → EnvCLI → EnvCLI

EnvCLI / EnvCLI

Licence: MIT license
Don't install Node, Go, ... locally - use containers you define within your project. If you have a new machine / other contributors you just have to install docker and envcli to get started.

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
Batchfile
5799 projects

Projects that are alternatives of or similar to EnvCLI

Shon
A simple tool to convert json or yaml into a shell-compliant data structure.
Stars: ✭ 47 (-49.46%)
Mutual labels:  yaml, developer-tools
csvy
Import and Export CSV Data With a YAML Metadata Header
Stars: ✭ 52 (-44.09%)
Mutual labels:  yaml
webviz-config
Make Dash applications from a user-friendly config file 📖 🐍
Stars: ✭ 46 (-50.54%)
Mutual labels:  yaml
flutter plus
Develop applications in Flutter more quickly and easily. Customize Containers, Buttons, Texts and TextFields in a few lines. Navigate between Screens and open BottomSheets, Dialogs and Snackbars without context from any point.
Stars: ✭ 17 (-81.72%)
Mutual labels:  yaml
onechart
A generic Helm chart for your application deployments
Stars: ✭ 30 (-67.74%)
Mutual labels:  yaml
KaiZen-OpenApi-Parser
High-performance Parser, Validator, and Java Object Model for OpenAPI 3.x
Stars: ✭ 119 (+27.96%)
Mutual labels:  yaml
schema-registry-gitops
Manage Confluent Schema Registry subjects through Infrastructure as code
Stars: ✭ 36 (-61.29%)
Mutual labels:  yaml
feater
Tool for rapid deployment of selected features of your web application to isolated testing or demo environments.
Stars: ✭ 27 (-70.97%)
Mutual labels:  developer-tools
cq
Clojure Command-line Data Processor for JSON, YAML, EDN, XML and more
Stars: ✭ 111 (+19.35%)
Mutual labels:  yaml
scout
Reading and writing in JSON, Plist, YAML and XML data made simple when the data format is not known at build time. Swift library and command-line tool.
Stars: ✭ 110 (+18.28%)
Mutual labels:  yaml
pyladies-courseware
Homework/task submit and review web app · based on React and Python aiohttp
Stars: ✭ 14 (-84.95%)
Mutual labels:  yaml
gitlab-configuration-as-code
Manage GitLab configuration as code to make GitLab easily managable, traceable and reproducible.
Stars: ✭ 31 (-66.67%)
Mutual labels:  yaml
parse it
A python library for parsing multiple types of config files, envvars & command line arguments that takes the headache out of setting app configurations.
Stars: ✭ 86 (-7.53%)
Mutual labels:  yaml
theconf
Python Package for Managing Configurations
Stars: ✭ 35 (-62.37%)
Mutual labels:  yaml
crimson
Bioinformatics tool outputs converter to JSON or YAML
Stars: ✭ 30 (-67.74%)
Mutual labels:  yaml
qaz
qaz—A CLI tool for Templating & Managing stacks in AWS Cloudformation
Stars: ✭ 89 (-4.3%)
Mutual labels:  yaml
Clash
clash配置文件,基于ACL4SSR以及blackmatrix7修改
Stars: ✭ 53 (-43.01%)
Mutual labels:  yaml
tdiff
CLI tool for comparing tree like structures
Stars: ✭ 20 (-78.49%)
Mutual labels:  yaml
multilanguages
AKSoftware.Localization.MultiLanguages is a package for .NET developers allows them to easily build apps target multiple languages with just few lines of code
Stars: ✭ 54 (-41.94%)
Mutual labels:  yaml
read-yaml
Very thin wrapper around js-yaml for directly reading in YAML files.
Stars: ✭ 25 (-73.12%)
Mutual labels:  yaml

Build Status Go Report Card Maintenance GitHub contributors License Version

EnvCLI is a simple wrapper that allows you to run commands within ethereal docker containers. You can configure commands to run in docker images within the envcli configuration file. It currently supports the following providers: Docker for Windows, Docker on Linux and Docker Toolbox.

What merits does this have?

  • Reproducible builds (every developer and ci always use the specified version of Node, Go, ...)
  • Official Docker Image for CI
  • You don't have to build docker images with node & angular cli or golang & dep - just use the official containers directly
  • Quick on-boarding (just install Docker and EnvCLI and you can start coding without setting up any other dependencies or spending time on configurations)
  • Enforce identical development environments (every developer has the same version of the compilers/gradle/...)
  • Never install dependencies manually or deal with leftovers of old versions (containers are ethereal)
  • Tools (ex. Ruby -> Changelog generator) can be defined in the .envcli.yml without installing Ruby or a specific version which might break other tools
  • Supports a system-scoped configuration to define tools you need like for example htop, grep, ct (coreos config transpiler), overcommit or other tools
  • Suppports the creation of aliases, just use npm install x like you usually do and you won't even notice your commands are executed within docker containers by envcli

. Overview . Installation . Documentation . Credits .


Overview

To use EnvCLI you have to install docker and envcli. (See Installation)

After that you can create the .envcli.yml configuration file for your project.

Example (A single image can provide multiple commands):

images:
- name: npm
  description: Node.js is a JavaScript-based platform for server-side and networking applications.
  provides:
  - npm
  - yarn
  image: docker.io/node:10-alpine

When you run envcli run npm init EnvCLI will take the executed command and match it to the Docker Image node:10-alpine based on the provided commands.

You can also use envcli install-aliases --scope project to install the project defined aliases and use npm init directly - envcli will create a script in your path that will redirect your command to envcli and cause it to be executed within a container.

What does EnvCLI do?

This project only provides the configuration file and the easy envcli commmand, therefore making it easier to use Docker when development your project. You can do the same without EnvCLI.

Plain Docker:

docker run --rm -it --workdir /go/src/project/ --volume "C:\SourceCodes\golang\envcli:/
go/src/project" golang:latest /usr/bin/env sh -c "go build -o envcli src/*"

With EnvCLI:

envcli run go build -o envcli src/*

With EnvCLI & Aliases:

Can be used by running envcli install-aliases once.

go build -o envcli src/*

Installation

Docker for Windows

  1. Install Docker for Windows from https://docs.docker.com/docker-for-windows/install/
  2. Install EnvCLI

Docker for Linux

  1. Install the default Docker version from your favorite package manager.
  2. Install [EnvCLI]

32bit

curl -L -o /usr/local/bin/envcli https://dl.bintray.com/envcli/golang/envcli/v0.7.0/linux_386
chmod +x /usr/local/bin/envcli

64bit

curl -L -o /usr/local/bin/envcli https://dl.bintray.com/envcli/golang/envcli/v0.7.0/linux_amd64
chmod +x /usr/local/bin/envcli

OSX

  1. Install the default Docker version from your favorite package manager.
  2. Install [EnvCLI]

64bit

curl -L -o /usr/local/bin/envcli https://dl.bintray.com/envcli/golang/envcli/v0.7.0/darwin_amd64
chmod +x /usr/local/bin/envcli

Docker Toolbox (Legacy)

Install EnvCLI

Now you have to configure a docker-machine for envcli: docker-machine create envcli

After that you have to share the drive containing your projects with virtualbox and docker:

  1. Stop the envcli machine docker-machine stop envcli
  2. Open VirtualBox
  3. Rightclick -> Settings on the envcli virtual Machine
  4. Select Shared Folders and add a machine folder with the Path
  5. Share the drive which contains your projects (In this example C -> Folder_Path: C:\, Folder_Name: C_DRIVE) and select the options Auto-mount and Permanent
  6. Start the envcli machine docker-machine start envcli

Library

You can use envcli as library in other projects.

go get -u github.com/EnvCLI/EnvCLI

Roadmap

Documentation

Credits

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