From 9229b45dc237c71a401a6878dab7b9c8dd28b0d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20M=C3=A4der?= Date: Thu, 23 Jan 2020 09:35:30 +0100 Subject: [PATCH 1/5] Fix build status badge --- .github/workflows/push.yml | 2 ++ .github/workflows/release.yml | 2 ++ README.md | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 8f9ca18..44469dc 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -1,3 +1,5 @@ +name: push + on: push: branches-ignore: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9a00d3d..1796097 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,3 +1,5 @@ +name: release + on: push: branches: diff --git a/README.md b/README.md index e2508a9..db6e867 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![GitHub release (latest by date)](https://img.shields.io/github/v/release/netbox-community/netbox-docker)][github-release] [![GitHub stars](https://img.shields.io/github/stars/netbox-community/netbox-docker)][github-stargazers] ![GitHub closed pull requests](https://img.shields.io/github/issues-pr-closed-raw/netbox-community/netbox-docker) -![Docker Cloud Build Status](https://img.shields.io/docker/cloud/build/netboxcommunity/netbox) +![Github release workflow](https://img.shields.io/github/workflow/status/netbox-community/netbox-docker/release) ![Docker Pulls](https://img.shields.io/docker/pulls/netboxcommunity/netbox) [![MicroBadger Layers](https://img.shields.io/microbadger/layers/netboxcommunity/netbox)][netbox-docker-microbadger] [![MicroBadger Size](https://img.shields.io/microbadger/image-size/netboxcommunity/netbox)][netbox-docker-microbadger] From 132ab6fcca03ca9bbdbed29eb185d22730438f0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20M=C3=A4der?= Date: Thu, 23 Jan 2020 10:01:54 +0100 Subject: [PATCH 2/5] Fix typo in PR template --- .github/pull_request_template.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 32b34f0..139ff96 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,5 +1,5 @@ * [ ] I have read the comments and followed the PR template. -* [ ] I have provided and explained my PR according to the information in the comments. +* [ ] I have explained my PR according to the information in the comments. * [ ] My PR targets the `develop` branch. From 653321994a4431f69c2c0501ce72c141c00d759e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20M=C3=A4der?= Date: Thu, 23 Jan 2020 10:26:21 +0100 Subject: [PATCH 3/5] Fix link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index db6e867..2f48b4e 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Do you have any questions? Before opening an issue on Github, please join the [N [netbox-docker-github]: https://github.com/netbox-community/netbox-docker/ [ntc-slack]: http://slack.networktocode.com/ [netbox-docker-slack]: https://slack.com/app_redirect?channel=netbox-docker&team=T09LQ7E9E -[netbox-docker-license]: https://github.com/netbox-community/netbox-docker/blob/master/LICENSE +[netbox-docker-license]: https://github.com/netbox-community/netbox-docker/blob/release/LICENSE ## Docker Tags From 1c8d695fc2dcc53e2be0684f428f7c014798495f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20M=C3=A4der?= Date: Thu, 23 Jan 2020 10:36:13 +0100 Subject: [PATCH 4/5] Remove references to the old build system --- DOCKER_HUB.md | 63 --------------------------------------------------- README.md | 19 +++++++++------- 2 files changed, 11 insertions(+), 71 deletions(-) delete mode 100644 DOCKER_HUB.md diff --git a/DOCKER_HUB.md b/DOCKER_HUB.md deleted file mode 100644 index d3b3e68..0000000 --- a/DOCKER_HUB.md +++ /dev/null @@ -1,63 +0,0 @@ -# cloud.docker.com Configuration - -The automatic build is configured in cloud.docker.com. - -The following build configuration is expected: - -```yaml -Source Repository: github.com/netbox-community/netbox-docker -Build Location: Build on Docker Hub's infrastructure -Autotest: Internal and External Pull Requests -Repository Links: Enable for Base Image -Build Rules: -- Source Type: Branch - Source: release - Docker Tag: branches - Dockerfile location: Dockerfile - Build Context: / - Autobuild: on - Build Caching: on -- Source Type: Branch - Source: release - Docker Tag: prerelease - Dockerfile location: Dockerfile - Build Context: / - Autobuild: on - Build Caching: on -- Source Type: Branch - Source: release - Docker Tag: release - Dockerfile location: Dockerfile - Build Context: / - Autobuild: on - Build Caching: on -Build Environment Variables: -# Create an app on Github and use it's OATH credentials here -- Key: GITHUB_OAUTH_CLIENT_ID - Value: -- Key: GITHUB_OAUTH_CLIENT_SECRET - Value: -Build Triggers: -- Name: Cron Trigger - Trigger URL: -# Use this trigger in combination with e.g. https://cron-job.org in order to regularly schedule builds -``` - -## Background Knowledge - -The build system of cloud.docker.com is not made for this kind of project. -But we found a way to make it work, and this is how: - -1. The docker hub build system [allows to overwrite the scripts that get executed - for `build`, `test` and `push`](overwrite). See `/hooks/*`. -2. Shared functionality of the scripts `build`, `test` and `push` is extracted to `/hooks/common`. -3. The `build` script runs `run_build()` from `/hooks/common`. - This triggers either `/build-branches.sh`, `/build-latest.sh` or directly `/build.sh`. -4. The `test` script just invokes `docker-compose` commands. -5. The `push` script runs `run_build()` from `hooks/common` with a `--push-only` flag. - This causes the `build.sh` script to not re-build the Docker image, but just the just built image. - -The _Docker Tag_ configuration setting (`$DOCKER_TAG`) is only used to select the type (_release_, _prerelease_, _branches_) of the build in `hooks/common`. -Because it has a different meaning in all the other build scripts, it is `unset` after it has served it's purpose. - -[overwrite]: https://docs.docker.com/docker-hub/builds/advanced/#override-build-test-or-push-commands diff --git a/README.md b/README.md index 2f48b4e..5f12bfc 100644 --- a/README.md +++ b/README.md @@ -124,31 +124,34 @@ docker-compose up -d From time to time it might become necessary to re-engineer the structure of this setup. Things like the `docker-compose.yml` file or your Kubernetes or OpenShift configurations have to be adjusted as a consequence. + Since November 2019 each image built from this repo contains a `org.opencontainers.image.version` label. (The images contained labels since April 2018, although in November 2019 the labels' names changed.) -You can check the label of your local image by running `docker inspect netboxcommunity/netbox:v2.7.1 --format "{{json .ContainerConfig.Labels}}"`. +You can check the label of your local image by running `docker inspect netboxcommunity/netbox:v2.7.1 --format "{{json .Config.Labels}}"`. Please read [the release notes][releases] carefully when updating to a new image version. [releases]: https://github.com/netbox-community/netbox-docker/releases -## Rebuilding & Publishing images +## Rebuilding the Image `./build.sh` can be used to rebuild the Docker image. See `./build.sh --help` for more information. -### Publishing Docker Images +For more details on custom builds [consult our wiki][netbox-docker-wiki-build]. -New Docker images are built and published every 24h on the [Docker Build Infrastructure][docker-build-infra]. -`DOCKER_HUB.md` contains more information about the build infrastructure. +[netbox-docker-wiki-build]: https://github.com/netbox-community/netbox-docker/wiki/Build -[docker-build-infra]: https://hub.docker.com/r/netboxcommunity/netbox/builds/ +### Pre-made Docker Images + +New Docker images are built and published every 24h. ## Tests -To run the tests coming with Netbox, use the `docker-compose.yml` file as such: +We have a test script. +It runs Netbox's own unit tests and ensures that all initializers work: ```bash -docker-compose run netbox ./manage.py test +IMAGE=netboxcommunity/netbox:latest ./test.sh ``` ## About From f0b00ee104646af78140d2963608ae576b46742e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20M=C3=A4der?= Date: Thu, 23 Jan 2020 10:40:28 +0100 Subject: [PATCH 5/5] Update docker inspect command in bug_report template --- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 7717abd..82f22b1 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -48,7 +48,7 @@ The output of `git rev-parse HEAD`: `XXXXX` The command you used to start the project: `XXXXX` -The output of `docker inspect netboxcommunity/netbox:latest --format "{{json .ContainerConfig.Labels}}"`: +The output of `docker inspect netboxcommunity/netbox:latest --format "{{json .Config.Labels}}"`: ```json {