https://github.com/lumio/dockery
Builds your package and creates a docker image
https://github.com/lumio/dockery
automation continuous-integration docker nodejs npm yarn
Last synced: 5 months ago
JSON representation
Builds your package and creates a docker image
- Host: GitHub
- URL: https://github.com/lumio/dockery
- Owner: lumio
- License: mit
- Created: 2019-03-22T19:38:28.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-03T18:31:20.000Z (over 3 years ago)
- Last Synced: 2025-09-30T17:59:44.006Z (9 months ago)
- Topics: automation, continuous-integration, docker, nodejs, npm, yarn
- Language: TypeScript
- Size: 1000 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
dockery
===
[](https://circleci.com/gh/lumio/dockery/tree/master) [](https://codecov.io/gh/lumio/dockery)  
A simple script that builds your package and creates a docker image in one
sitting, preparing it for docker hub.
You can decide how to tag your image:
- The **default** uses the version number of package.json.
- **`--hash`** uses the hash of the latest git commit.
- **`--tag`** sets the tag name manually (in combination with the given repo and package name)
- **`--latest`** tags the image as being the latest version.
To push a built docker image to docker hub, you need to be logged in
with `docker login`. You can also use `dockery` with a different registry by
passing the `--registry` argument.
Install
---
```bash
npm install -g dockery
# or
yarn global add dockery
```
Usage
---
```bash
dockery -f
```
Combines the package.json's `name` and `version` number as a tag name, builds the
package by running `npm run build` (or `yarn run build`) and then builds the
docker image, using a `Dockerfile`.
The `-f` flag overwrites an existing image with the same tag name.
Note that in order to generate a valid image tag name the `name` needs to be
scoped, e.g. begins with `@dockery/`.
This is used as the docker hub repository.
You could also set the repository name by passing the `--repo` argument.
### Hashed image version
```bash
dockery --hash
```
This will read the hash of the last git commit and use it as the tag name.
### Publish a manual tagged image
```bash
dockery --repo=test --package=test-pkg --tag=v1.0.0-alpha1 --push
```
This will create a docker image with the tag name `test/test-pkg:v1.0.0-alpha1`
and pushes it to the docker hub on a successful build.
Arguments
---
You can print all available arguments with `dockery --help`.
```
dockery [options]
-d --directory=STRING
Sets the work directory
-f --force
Overwrites an existing image
--hash
Use latest commit hash as tag name
-h --help
Show this help text
-l --latest
Tag as latest
--package=ALPHANUMERIC
Set the package name.
Default is read from the name field in
your package.json
--push
Push docker image to registry
-q --quiet
Disable most of the log outputs
-r --registry=STRING
Use a custom registry
--repo=ALPHANUMERIC
Set the docker repo.
Default is read from the docker-repository field in
your package.json
--tag=ALPHANUMERIC
Set manual tag name. Default is the package version number.
-e --tag-prefix=STRING
Prefix of the generated tag. E.g. "build-". Default is none
```
Support
---
If you have any questions, do not hesitate and raise an issue on [github.com/lumio/dockery](https://github.com/lumio/dockery/issues/new/choose).
Tests & Development
---
This project uses `yarn` to resolve its dependencies and `jest` for unit tests.
```bash
yarn
yarn test
```
We are grateful for any help. Feel free to fork this project and adapt it.