Skip to content

Instantly share code, notes, and snippets.

@therebelrobot
Last active December 11, 2023 21:29
Show Gist options
  • Save therebelrobot/716a79c2d37cf85f2da3003eea357d3e to your computer and use it in GitHub Desktop.
Save therebelrobot/716a79c2d37cf85f2da3003eea357d3e to your computer and use it in GitHub Desktop.
docker release npm scripts
{
"name": "<DOCKERHUB IMAGE NAME>",
"version": "1.0.0",
"private": true,
"publishConfig": {
"dockerhub": "<DOCKERHUB USERNAME>"
},
"scripts": {
"bump:major": "npm version major",
"bump:minor": "npm version minor",
"bump:patch": "npm version patch",
"release:major": "yarn bump:major && yarn build:tag:push:docker",
"release:minor": "yarn bump:minor && yarn build:tag:push:docker",
"release:patch": "yarn bump:patch && yarn build:tag:push:docker",
"build:tag:push:docker": "yarn build:docker && yarn tag:docker && yarn push:docker",
"build:docker": "docker build . --tag $(jq -r '.name' package.json):$(jq -r '.name' package.json)",
"tag:docker": "docker tag $(jq -r '.name' package.json):$(jq -r '.name' package.json) $(jq -r '.publishConfig.dockerhub' package.json)/$(jq -r '.name' package.json):$(jq -r '.name' package.json) && docker tag $(jq -r '.name' package.json):$(jq -r '.name' package.json) $(jq -r '.publishConfig.dockerhub' package.json)/$(jq -r '.name' package.json):latest",
"push:docker": "docker push $(jq -r '.publishConfig.dockerhub' package.json)/$(jq -r '.name' package.json):$(jq -r '.name' package.json) && docker push $(jq -r '.publishConfig.dockerhub' package.json)/$(jq -r '.name' package.json):latest"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment