diff --git a/.jenkins b/.jenkins index ad5c52f41..dfae64999 100644 --- a/.jenkins +++ b/.jenkins @@ -71,11 +71,11 @@ spec: */ dir('netbox/netbox') { sh """ - cp configuration.example.py configuration.py - sed -i -e "s/ALLOWED_HOSTS = .*/ALLOWED_HOSTS = ['*']/g" configuration.py - sed -i -e "s/SECRET_KEY = .*/SECRET_KEY = 'netboxci'/g" configuration.py - sed -i -e "s/USER': .*/USER': 'netbox',/g" configuration.py - sed -i -e "s/PASSWORD': .*/PASSWORD': 'netbox',/g" configuration.py + cp configuration.example.py configuration.py + sed -i -e "s/ALLOWED_HOSTS = .*/ALLOWED_HOSTS = ['*']/g" configuration.py + sed -i -e "s/SECRET_KEY = .*/SECRET_KEY = 'netboxci'/g" configuration.py + sed -i -e "s/USER': .*/USER': 'netbox',/g" configuration.py + sed -i -e "s/PASSWORD': .*/PASSWORD': 'netbox',/g" configuration.py """ } // finally, kick off tox to run the entire test suite @@ -92,8 +92,11 @@ spec: changeRequest() } } + environment { + BASE_TAG = getSafeBranchName() + } agent { - label 'docker-build' + label 'docker-build' } steps { container('docker') { @@ -106,10 +109,12 @@ spec: --build-arg BUILD_VERSION=${BUILD_TAG} \ --build-arg BRANCH=${BRANCH_NAME} \ -t ${IMAGE}:${TAG} - ''' - withDockerRegistry(registry: [credentialsId: 'vio-docker-hub']) { - sh "docker push ${env.IMAGE}:${env.TAG}" - } + ''' + sh 'docker tag ${IMAGE}:${TAG} ${IMAGE}:${BASE_TAG}' + withDockerRegistry(registry: [credentialsId: 'vio-docker-hub']) { + sh "docker push ${env.IMAGE}:${env.TAG}" + sh "docker push ${env.IMAGE}:${env.BASE_TAG}" + } } } } diff --git a/Dockerfile b/Dockerfile index d74020277..77c68ef0d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -69,7 +69,6 @@ RUN wget -q -O - "${URL}" | tar xz \ COPY docker/configuration.docker.py /opt/netbox/netbox/netbox/configuration.py COPY docker/configuration/gunicorn_config.py /etc/netbox/config/ -COPY docker/nginx.conf /etc/netbox-nginx/nginx.conf COPY docker/docker-entrypoint.sh /opt/netbox/docker-entrypoint.sh COPY docker/startup_scripts/ /opt/netbox/startup_scripts/ COPY docker/initializers/ /opt/netbox/initializers/ diff --git a/docker-compose.yml b/docker-compose.yml index d95c21437..14803aef6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,12 +1,38 @@ -version: '2' +version: '3' services: postgres: image: "postgres:9.6" environment: POSTGRES_PASSWORD: "12345" + POSTGRES_DB: netbox ports: - - 5432:5432 + - 5432:5432 redis: image: "redis" + nginx: + image: "nginx" + volumes: + - "static:/opt/netbox/netbox/static" + - "./docker/nginx.conf:/etc/nginx/nginx.conf" ports: - - 6379:6379 + - 8000:80 + netbox: + image: "vaporio/netbox:develop.5" + environment: + SECRET_KEY: secret + DB_HOST: postgres + DB_USER: postgres + DB_PASSWORD: "12345" + ALLOWED_HOSTS: "*" + REDIS_HOST: redis + depends_on: + - redis + - postgres + volumes: + - "./netbox:/opt/netbox/netbox" + - "static:/opt/netbox/netbox/static" + - "./docker/configuration.docker.py:/opt/netbox/netbox/netbox/configuration.py" + - "./docker/startup_scripts/:/opt/netbox/startup_scripts" + - "./docker/initializers/:/opt/netbox/initializers" +volumes: + static: diff --git a/docker/nginx.conf b/docker/nginx.conf index 3b78a9f91..8e3abd950 100644 --- a/docker/nginx.conf +++ b/docker/nginx.conf @@ -1,4 +1,3 @@ -daemon off; worker_processes 1; error_log /dev/stderr info; @@ -18,7 +17,7 @@ http { client_max_body_size 10M; server { - listen 8080; + listen 80; access_log off; location /static/ { diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 116879740..41c0fae53 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -408,7 +408,7 @@ SITE_ID = 1 # Django Allauth # -ACCOUNT_DEFAULT_HTTP_PROTOCOL='https' +ACCOUNT_DEFAULT_HTTP_PROTOCOL = 'https' LOGIN_REDIRECT_URL = 'home' # diff --git a/netbox/vapor/tests/test_api.py b/netbox/vapor/tests/test_api.py index 789e39f16..f0d65483c 100644 --- a/netbox/vapor/tests/test_api.py +++ b/netbox/vapor/tests/test_api.py @@ -71,10 +71,10 @@ class VaporTestInterfaces(APITestCase): tenant=cls.customer1, ) cls.device2 = Device.objects.create( - name='network-locker2', - device_role=cls.devicerole1, - device_type=cls.devicetype1, - site=cls.site1, + name='network-locker2', + device_role=cls.devicerole1, + device_type=cls.devicetype1, + site=cls.site1, ) cls.interface1 = Interface.objects.create(name='e1', device=cls.device1) cls.interface2 = Interface.objects.create(name='xe-0/0/0', device=cls.device2) diff --git a/tox.ini b/tox.ini index bf82ada8d..d5bdcea6f 100644 --- a/tox.ini +++ b/tox.ini @@ -8,6 +8,9 @@ description= run tests with django. deps= -r{toxinidir}/requirements.txt + pycodestyle + tblib changedir = netbox commands= + pycodestyle --ignore=W504,E501 . python manage.py test --failfast --noinput --parallel 5 --no-color