Add Python build images
These images are designed to build projects which are not in the same repository (i.e. build a Glance image for a project that consumes it). Change-Id: Iab6aa131fc77b072fdce0f635a42d870ef41a68a
This commit is contained in:
parent
46e918870d
commit
7591aeae4e
25
python-base/Dockerfile
Normal file
25
python-base/Dockerfile
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# Copyright (c) 2020 VEXXHOST, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
# implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
FROM python:3.7-slim
|
||||||
|
|
||||||
|
RUN pip --no-cache-dir install bindep
|
||||||
|
|
||||||
|
ONBUILD COPY --from=builder /output /output
|
||||||
|
ONBUILD COPY --from=builder /etc/apt /etc/apt
|
||||||
|
ONBUILD RUN apt-get update && \
|
||||||
|
apt-get install -y $(bindep -b -f /output/bindep.txt) && \
|
||||||
|
pip install --no-index /output/wheels/*.whl && \
|
||||||
|
apt-get clean all
|
34
python-builder/Dockerfile
Normal file
34
python-builder/Dockerfile
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# Copyright (c) 2020 VEXXHOST, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
# implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
FROM python:3.7-slim
|
||||||
|
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get install -y git && \
|
||||||
|
pip install bindep
|
||||||
|
|
||||||
|
ONBUILD ADD . /build
|
||||||
|
ONBUILD ADD bindep.txt /output/bindep.txt
|
||||||
|
|
||||||
|
ONBUILD RUN test -f /build/setup-repos.sh && /build/setup-repos.sh || true
|
||||||
|
ONBUILD RUN apt-get update && \
|
||||||
|
apt-get install -y $(bindep -b -f /build/bindep.txt compile)
|
||||||
|
|
||||||
|
ONBUILD RUN test -f "/build/build-requirements.txt" && \
|
||||||
|
pip install --constraint=/build/constraints.txt \
|
||||||
|
--requirement=/build/build-requirements.txt || true
|
||||||
|
ONBUILD RUN pip wheel --wheel-dir=/output/wheels \
|
||||||
|
--constraint=/build/constraints.txt \
|
||||||
|
--requirement=/build/requirements.txt
|
31
zuul.d/python-base.yaml
Normal file
31
zuul.d/python-base.yaml
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
- job:
|
||||||
|
name: docker-images:build:python-base
|
||||||
|
parent: vexxhost-build-docker-image
|
||||||
|
provides: docker-images:image:python-base
|
||||||
|
vars: &id001
|
||||||
|
docker_images:
|
||||||
|
- context: python-base/
|
||||||
|
repository: vexxhost/python-base
|
||||||
|
files: &id002
|
||||||
|
- ^python-base/.*
|
||||||
|
- job:
|
||||||
|
name: docker-images:upload:python-base
|
||||||
|
parent: vexxhost-upload-docker-image
|
||||||
|
provides: docker-images:image:python-base
|
||||||
|
vars: *id001
|
||||||
|
files: *id002
|
||||||
|
- job:
|
||||||
|
name: docker-images:promote:python-base
|
||||||
|
parent: vexxhost-promote-docker-image
|
||||||
|
vars: *id001
|
||||||
|
files: *id002
|
||||||
|
- project:
|
||||||
|
check:
|
||||||
|
jobs:
|
||||||
|
- docker-images:build:python-base
|
||||||
|
gate:
|
||||||
|
jobs:
|
||||||
|
- docker-images:upload:python-base
|
||||||
|
promote:
|
||||||
|
jobs:
|
||||||
|
- docker-images:promote:python-base
|
32
zuul.d/python-builder.yaml
Normal file
32
zuul.d/python-builder.yaml
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
- job:
|
||||||
|
name: docker-images:build:python-builder
|
||||||
|
parent: vexxhost-build-docker-image
|
||||||
|
provides: docker-images:image:python-builder
|
||||||
|
vars: &id001
|
||||||
|
docker_images:
|
||||||
|
- context: python-builder/
|
||||||
|
repository: vexxhost/python-builder
|
||||||
|
files: &id002
|
||||||
|
- ^python-builder/.*
|
||||||
|
- job:
|
||||||
|
name: docker-images:upload:python-builder
|
||||||
|
parent: vexxhost-upload-docker-image
|
||||||
|
provides: docker-images:image:python-builder
|
||||||
|
vars: *id001
|
||||||
|
files: *id002
|
||||||
|
- job:
|
||||||
|
name: docker-images:promote:python-builder
|
||||||
|
parent: vexxhost-promote-docker-image
|
||||||
|
vars: *id001
|
||||||
|
files: *id002
|
||||||
|
- project:
|
||||||
|
check:
|
||||||
|
jobs:
|
||||||
|
- docker-images:build:python-builder
|
||||||
|
gate:
|
||||||
|
jobs:
|
||||||
|
- docker-images:upload:python-builder
|
||||||
|
promote:
|
||||||
|
jobs:
|
||||||
|
- docker-images:promote:python-builder
|
||||||
|
|
Loading…
Reference in New Issue
Block a user