2018-07-11 13:30:32 +00:00
|
|
|
# Embark for Docker
|
|
|
|
|
|
|
|
## Updating versions
|
|
|
|
|
|
|
|
* Open `Dockerfile`
|
|
|
|
* On the `ENV` directive, update necessary versions.
|
|
|
|
|
|
|
|
An exception to this is the NodeJS version, which needs to be updated in the `FROM` directive instead.
|
|
|
|
|
|
|
|
## Building
|
|
|
|
|
2018-07-24 23:55:40 +00:00
|
|
|
Building requires Docker to be installed on your local machine.
|
2018-07-11 18:53:08 +00:00
|
|
|
|
|
|
|
### Scripted
|
|
|
|
|
|
|
|
If you have Ruby installed in your system, run:
|
2018-07-11 13:30:32 +00:00
|
|
|
|
|
|
|
```
|
2018-07-11 18:53:08 +00:00
|
|
|
$ ruby script/build
|
|
|
|
```
|
|
|
|
|
|
|
|
To release, add `--release` as a parameter of the build script.
|
|
|
|
|
|
|
|
### Manually
|
|
|
|
|
|
|
|
Building and releasing manually isn't too hard either, but there are a couple steps.
|
|
|
|
|
|
|
|
#### Tags
|
|
|
|
|
|
|
|
To facilitate the images being found, we tag them with the following rules (as an example, the `3.1.5` version will be used.)
|
|
|
|
|
|
|
|
- Tag with `statusim/embark:latest` if `3.1.5` is the latest version.
|
|
|
|
- Tag with `statusim/embark:3.1.5`
|
|
|
|
- Tag with `statusim/embark:3.1` if `3.1.5` is the highest patch level on `3.1`
|
2018-07-11 18:57:03 +00:00
|
|
|
- Tag with `statusim/embark:3` if `3.1.5` is the highest minor and patch level on `3`
|
2018-07-11 18:53:08 +00:00
|
|
|
|
|
|
|
#### Generating the image
|
|
|
|
|
|
|
|
To generate the image, run:
|
|
|
|
|
|
|
|
```
|
|
|
|
docker build . -t statusim/embark:<version> [...tags]
|
2018-07-11 13:30:32 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
## Releasing
|
|
|
|
|
|
|
|
Releasing requires that you're authenticated to Docker Hub. To do so, run:
|
|
|
|
|
|
|
|
```
|
|
|
|
$ docker login
|
|
|
|
```
|
|
|
|
|
2018-07-11 18:53:08 +00:00
|
|
|
### Scripted
|
|
|
|
|
|
|
|
If you have Ruby installed in your system, run:
|
|
|
|
|
|
|
|
```
|
|
|
|
$ ruby script/build --release
|
|
|
|
```
|
|
|
|
|
|
|
|
### Manual
|
|
|
|
|
|
|
|
Pushing the tags manually implies that the image has been previously built. To push your local images, run:
|
2018-07-11 13:30:32 +00:00
|
|
|
|
|
|
|
```
|
2018-07-11 18:53:08 +00:00
|
|
|
docker push statusim/embark:version
|
2018-07-11 13:30:32 +00:00
|
|
|
```
|