Security News
ESLint is Now Language-Agnostic: Linting JSON, Markdown, and Beyond
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
docker-machine-deploy
Advanced tools
docker-machine-deploy
?docker-machine-deploy
deploys docker applications to remote host using docker-machine. It supports docker-compose
and docker-swarm
with stacks
.
I work on multiple projects. Each project usually had a deploy.sh
script that looked something like this:
docker-compose -f docker-compose.yml build
msg "Pushing images..."
docker-compose -f docker-compose.yml push
msg "Updating docker-machine to name..."
eval $(docker-machine env --shell bash machine)
msg "Deploying with docker..."
docker-compose -f docker-compose.yml pull
docker-compose -f docker-compose.yml up -d --remove-orphans
...
I ended up having three repositories with this script. After a while, I realized that I am doing a lot of repeated work that can be better if the DRY model was followed.
Almost every project I deploy is a web project. They all have a package.json
with webpack
. Knowing that most of my projects use Node
, it made sense to have a build took also in package.json
.
Install using
npm i --save-dev docker-machine-deploy
Then create .docker-machine-deploy.json
with
{
"machine": "machine-name",
"mode": "compose",
"build": "local"
}
And finally, add something like this to your package.json
"scripts": {
"docker-deploy": "docker-machine-deploy"
}
You can then deploy using npm run docker-deploy
All configurations should be in .docker-machine-deploy.json
.
Name | Default Value | Description |
---|---|---|
machine | Docker machine name to use. This should be a machine that is listed in docker-machine ls | |
mode | "compose" | Accepted values can be compose or swarm to create stack. See below for more details. |
build | "local" | Accepted values are remote or local . If local , then builds are done locally and then pushed to docker registry where it is then pulled to remote host. If remote , it is built on the remote host. If you have limited memory then build locally. |
Work in progress
This module use debug module which can be enabled by doing DEBUG=* npm run docker-deploy
This package is under development. Pull requests are welcomed.
The current lead maintainer is Amir Raminfar
FAQs
Deploy docker projects with npm using machine
The npm package docker-machine-deploy receives a total of 0 weekly downloads. As such, docker-machine-deploy popularity was classified as not popular.
We found that docker-machine-deploy demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
Security News
Members Hub is conducting large-scale campaigns to artificially boost Discord server metrics, undermining community trust and platform integrity.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.