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