mirror of
https://github.com/netbox-community/netbox-docker.git
synced 2025-06-09 19:46:42 +02:00
Updated Build (markdown)
parent
cb9a885bfe
commit
18e8e25357
43
Build.md
43
Build.md
@ -24,29 +24,19 @@ But usually you'd use a selection of them.
|
||||
|
||||
## Build the Image from Scratch
|
||||
|
||||
The `netbox-docker` image is very advanced and has a rather complex build system.
|
||||
That's why all of the complexity was captured in a few files:
|
||||
The `netbox-docker` Docker image has a rather complex build system.
|
||||
That's why all of the complexity is captured in a few build scripts:
|
||||
|
||||
- **`build.sh`**: This script is called by all the others. Run `./build.sh --help` to see all the options.
|
||||
- **`build-all.sh`**: This script builds all versions of the Netbox Docker Image, i.e. releases (e.g. `v2.6.6`), pre-releases (e.g. `v2.6-beta1`), `latest` and `snapshot`.
|
||||
- **`build-branches.sh`**: Builds the `master` Git branch as `latest`, the `develop` Git branch as `snapshot` and the `develop-*` branch as `develop-*`.
|
||||
- **`build-latest.sh`**: Queries Github to get the most recent tag. When launched with `PRERELEASE=true` it will build a pre-release tag (usually beta releases) *if* the version of the pre-release is newer than the newest release tag. This produces a version like `v2.6.6` and also tags `v2.6`.
|
||||
|
||||
### Oldschool `docker build`
|
||||
|
||||
You can still build the image manually using `docker build`.
|
||||
If you want to do that, you must pass at least one build argument to Docker:
|
||||
The `NETBOX_PATH`.
|
||||
This build argument must be a path to a folder that contains all the Netbox files.
|
||||
|
||||
So, full instructions would look like this:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/netbox-community/netbox-docker.git
|
||||
cd netbox-docker
|
||||
git clone https://github.com/netbox-community/netbox.git netbox
|
||||
docker build --build-arg "NETBOX_PATH=netbox" --target main .
|
||||
```
|
||||
- `build.sh`:
|
||||
This is **the main build script**.
|
||||
It is called by all the other scripts.
|
||||
Run `./build.sh --help` to see all the options.
|
||||
- `build-next.sh`:
|
||||
Builds the `master` Git branch as `latest`, the `develop` Git branch as `snapshot` and the `develop-*` branches as `develop-*`.
|
||||
- `build-latest.sh`:
|
||||
Queries Github to get the most recent tag.
|
||||
When launched with `PRERELEASE=true` it will build a pre-release tag (usually beta releases) *if* the version of the pre-release is newer than the newest release tag.
|
||||
This produces a version like `v2.6.6` and also tags `v2.6`.
|
||||
|
||||
### Build Targets
|
||||
|
||||
@ -58,11 +48,6 @@ The Docker file knows multiple build targets:
|
||||
|
||||
### Automatic Build
|
||||
|
||||
There are automatic builds configured on Docker Hub, which are trigger once a day and on every commit to the `master` branch of `netbox-docker`.
|
||||
There are automatic builds configured based on Github Actions, which are trigger once a day and on every commit to the `master` branch of `netbox-docker`.
|
||||
|
||||
This automatic build relies on the same `/build*.sh` files as described above.
|
||||
The default commands of Docker Hub are overwritten using the files in `/hooks/*`.
|
||||
|
||||
To learn more about the automatic builds read the [`DOCKER_HUB.md`][hub] file.
|
||||
|
||||
[hub]: https://github.com/netbox-community/netbox-docker/blob/master/DOCKER_HUB.md
|
||||
The automatic build relies on the same `/build*.sh` files as described above.
|
Loading…
x
Reference in New Issue
Block a user