feat: Cached download of Skyline Console tarball
The tarball is downloaded only once, changes to the sources do not result in a re-download. Change-Id: I80ad7ed0a849f639bd4e0655ba6307c09f56814c
This commit is contained in:
parent
fac43ebbf5
commit
73cef61356
4
.gitignore
vendored
4
.gitignore
vendored
@ -8,6 +8,9 @@ sql_app.db
|
|||||||
# C extensions
|
# C extensions
|
||||||
*.so
|
*.so
|
||||||
|
|
||||||
|
# Skyline console
|
||||||
|
skyline_console
|
||||||
|
|
||||||
# Distribution / packaging
|
# Distribution / packaging
|
||||||
.Python
|
.Python
|
||||||
build/
|
build/
|
||||||
@ -73,7 +76,6 @@ venv.bak/
|
|||||||
/log/
|
/log/
|
||||||
tmp/
|
tmp/
|
||||||
test_results.html
|
test_results.html
|
||||||
skyline-console-*
|
|
||||||
nginx.conf
|
nginx.conf
|
||||||
mypy-report/
|
mypy-report/
|
||||||
doc/build
|
doc/build
|
||||||
|
27
Makefile
27
Makefile
@ -62,9 +62,20 @@ endif
|
|||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm -rf .venv dist htmlcov .coverage log test_results.html build .tox skyline_apiserver.egg-info AUTHORS ChangeLog
|
rm -rf .venv dist htmlcov .coverage log test_results.html build .tox skyline_apiserver.egg-info AUTHORS ChangeLog skyline_console
|
||||||
|
|
||||||
|
|
||||||
|
skyline_console:
|
||||||
|
mkdir skyline_console
|
||||||
|
|
||||||
|
skyline_console/skyline_console.tar.gz: | skyline_console
|
||||||
|
wget -O $@ $(SKYLINE_CONSOLE_PACKAGE_URL)
|
||||||
|
|
||||||
|
skyline_console/commit_id: skyline_console/skyline_console.tar.gz
|
||||||
|
commit_id_file="$$(tar tzf $< | grep -P '/commit_id\.txt$$')" \
|
||||||
|
&& tar xzf $< --directory skyline_console "$${commit_id_file}" \
|
||||||
|
&& mv "skyline_console/$${commit_id_file}" $@
|
||||||
|
|
||||||
.PHONY: build devbuild
|
.PHONY: build devbuild
|
||||||
BUILD_ENGINE ?= docker
|
BUILD_ENGINE ?= docker
|
||||||
BUILD_CONTEXT ?= .
|
BUILD_CONTEXT ?= .
|
||||||
@ -78,26 +89,20 @@ else ifeq ($(BUILD_ENGINE), buildah)
|
|||||||
else
|
else
|
||||||
$(error Unsupported build engine $(BUILD_ENGINE))
|
$(error Unsupported build engine $(BUILD_ENGINE))
|
||||||
endif
|
endif
|
||||||
build:
|
build: skyline_console/skyline_console.tar.gz skyline_console/commit_id
|
||||||
GIT_CONSOLE_COMMIT=$(shell rm -rf skyline-console-master.tar.gz && wget $(SKYLINE_CONSOLE_PACKAGE_URL) && tar -zxf skyline-console-master.tar.gz && cat skyline-console-*/skyline_console/static/commit_id.txt); \
|
|
||||||
$(build_cmd) --no-cache --pull --force-rm \
|
$(build_cmd) --no-cache --pull --force-rm \
|
||||||
--build-arg SKYLINE_CONSOLE_PACKAGE_URL=$(SKYLINE_CONSOLE_PACKAGE_URL) \
|
--build-arg GIT_CONSOLE_COMMIT=$(file < skyline_console/commit_id) \
|
||||||
--build-arg GIT_CONSOLE_COMMIT=$$GIT_CONSOLE_COMMIT \
|
|
||||||
--build-arg GIT_BRANCH=$(GIT_BRANCH) \
|
--build-arg GIT_BRANCH=$(GIT_BRANCH) \
|
||||||
--build-arg GIT_COMMIT=$(GIT_COMMIT) \
|
--build-arg GIT_COMMIT=$(GIT_COMMIT) \
|
||||||
--build-arg RELEASE_VERSION=$(RELEASE_VERSION) \
|
--build-arg RELEASE_VERSION=$(RELEASE_VERSION) \
|
||||||
$(BUILD_ARGS) -f $(DOCKER_FILE) -t $(IMAGE):$(IMAGE_TAG) $(BUILD_CONTEXT)
|
$(BUILD_ARGS) -f $(DOCKER_FILE) -t $(IMAGE):$(IMAGE_TAG) $(BUILD_CONTEXT)
|
||||||
rm -rf skyline-console-*
|
devbuild: skyline_console/skyline_console.tar.gz skyline_console/commit_id
|
||||||
devbuild:
|
|
||||||
GIT_CONSOLE_COMMIT=$(shell rm -rf skyline-console-master.tar.gz && wget $(SKYLINE_CONSOLE_PACKAGE_URL) && tar -zxf skyline-console-master.tar.gz && cat skyline-console-*/skyline_console/static/commit_id.txt); \
|
|
||||||
$(build_cmd) \
|
$(build_cmd) \
|
||||||
--build-arg SKYLINE_CONSOLE_PACKAGE_URL=$(SKYLINE_CONSOLE_PACKAGE_URL) \
|
--build-arg GIT_CONSOLE_COMMIT=$(file < skyline_console/commit_id) \
|
||||||
--build-arg GIT_CONSOLE_COMMIT=$$GIT_CONSOLE_COMMIT \
|
|
||||||
--build-arg GIT_BRANCH=devbuild \
|
--build-arg GIT_BRANCH=devbuild \
|
||||||
--build-arg GIT_COMMIT=devbuild \
|
--build-arg GIT_COMMIT=devbuild \
|
||||||
--build-arg RELEASE_VERSION=devbuild \
|
--build-arg RELEASE_VERSION=devbuild \
|
||||||
$(BUILD_ARGS) -f $(DOCKER_FILE) -t $(IMAGE):$(IMAGE_TAG) $(BUILD_CONTEXT)
|
$(BUILD_ARGS) -f $(DOCKER_FILE) -t $(IMAGE):$(IMAGE_TAG) $(BUILD_CONTEXT)
|
||||||
rm -rf skyline-console-*
|
|
||||||
|
|
||||||
|
|
||||||
.PHONY: db_revision
|
.PHONY: db_revision
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
|
|
||||||
FROM ubuntu:20.04
|
FROM ubuntu:20.04
|
||||||
|
|
||||||
ARG SKYLINE_CONSOLE_PACKAGE_URL
|
|
||||||
ARG GIT_CONSOLE_COMMIT
|
ARG GIT_CONSOLE_COMMIT
|
||||||
ARG GIT_BRANCH
|
ARG GIT_BRANCH
|
||||||
ARG GIT_COMMIT
|
ARG GIT_COMMIT
|
||||||
@ -18,9 +17,11 @@ ENV LC_ALL C.UTF-8
|
|||||||
RUN apt-get update -y && apt-get install -y --no-install-recommends apt-utils \
|
RUN apt-get update -y && apt-get install -y --no-install-recommends apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||||
gcc make nginx traceroute lsof iputils-ping vim git wget curl locales-all ssl-cert \
|
gcc make nginx traceroute lsof iputils-ping vim git wget curl locales-all ssl-cert \
|
||||||
python3 python3-pip python3-dev python3-venv python-dev-is-python3 \
|
python3 python3-pip python3-dev python3-venv python-dev-is-python3
|
||||||
&& mkdir -p /etc/skyline /var/log/skyline /var/lib/skyline \
|
|
||||||
&& pip install -U ${SKYLINE_CONSOLE_PACKAGE_URL}
|
COPY ./skyline_console /var/cache/skyline_apiserver/skyline_console
|
||||||
|
|
||||||
|
RUN pip install -U /var/cache/skyline_apiserver/skyline_console/skyline_console.tar.gz
|
||||||
|
|
||||||
COPY ./requirements.txt /skyline-apiserver/requirements.txt
|
COPY ./requirements.txt /skyline-apiserver/requirements.txt
|
||||||
|
|
||||||
@ -31,7 +32,8 @@ COPY ./ /skyline-apiserver/
|
|||||||
RUN git init /skyline-apiserver \
|
RUN git init /skyline-apiserver \
|
||||||
&& pip install skyline-apiserver/ -chttps://releases.openstack.org/constraints/upper/master \
|
&& pip install skyline-apiserver/ -chttps://releases.openstack.org/constraints/upper/master \
|
||||||
&& apt-get clean \
|
&& apt-get clean \
|
||||||
&& rm -rf ~/.cache/pip
|
&& rm -rf ~/.cache/pip \
|
||||||
|
&& mkdir -p /etc/skyline /var/log/skyline /var/lib/skyline
|
||||||
|
|
||||||
COPY ./etc/gunicorn.py /etc/skyline/gunicorn.py
|
COPY ./etc/gunicorn.py /etc/skyline/gunicorn.py
|
||||||
COPY ./etc/skyline.yaml.sample /etc/skyline/skyline.yaml
|
COPY ./etc/skyline.yaml.sample /etc/skyline/skyline.yaml
|
||||||
|
Loading…
Reference in New Issue
Block a user