@itsjavi/devv v0.5.0
devv
devv is a zero-config Docker-based tool to allow developers running app maintenance scripts inside containers, without writing a single line of Dockerfile. This is useful specially to run command-line tools, you won't need to have your own docker files to do that.
When you run devv [IMAGE] [COMMAND] in your current directory, it will mount it
as delegated volume, together with some of your $HOME files(*) and folders needed
to run tasks like git push, npm publish, composer install, etc. which usually require
credentials.
() From your $HOME, it only mounts the following (read-only): ~/.npmrc, ~/.composer/auth.json, ~/.gitconfig, ~/.gitignore_global*
Setup
You can clone this repository and run bin/devv-init, then you will have to manually config the bin directory in your $PATH variable to have devv available everywhere.
Alternatively, if you have node installed in your OS, you can install it globally with npm.
npm i -g @itsjavi/devv && \
devv-initThe Docker images are built by you, so you can customize this project to your needs and run devv-init every time you need.
Supported Languages
Node & npm:
nodenode:15node:16,node:latest,nodenpm(runs onnode:latest)
PHP & composer:
phpphp:7php:7-xdebugphp:8,php:latest,phpphp:8-xdebugcomposer(runs onphp:latest)
Go (planned):
gogo:1.15go:1.16go:latest
Usage
# Usage template:
devv [LANG]:[VERSION] [COMMAND] [...PARAMETERS]# Examples:
devv node:16 node --version
devv node npm install
devv npm install
devv php:8 php --ini
devv php composer install
devv composer install
# Running phpunit with code coverage:
devv php:7-xdebug XDEBUG_MODE=coverage vendor/bin/phpunit