Build sdist inside of a container

A lot of people have experienced issues with the system-level dependencies that are required in order to build the source distribution that is handed off to the image builds. This makes it unnecessary to install any additional software on the host machine aside from Ansible and Docker.
This commit is contained in:
Shane McDonald 2017-09-10 18:54:21 -04:00
parent 2fb9b6cf25
commit a1bd84af5e
2 changed files with 35 additions and 5 deletions

View File

@ -0,0 +1,20 @@
FROM centos:7
RUN yum install -y epel-release
RUN yum install -y bzip2 \
gcc-c++ \
gettext \
git \
make \
python \
python-pip
RUN curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
RUN yum install -y nodejs
RUN npm set progress=false
WORKDIR "/awx"
ENTRYPOINT ["/bin/bash", "-c"]
CMD ["make sdist"]

View File

@ -47,12 +47,22 @@
when: not sdist.stat.exists
delegate_to: localhost
- name: Build sdist builder image
docker_image:
path: "image_build/files"
dockerfile: Dockerfile.sdist
name: awx_sdist_builder
tag: "{{ awx_version }}"
force: true
- name: Build AWX distribution
shell: make sdist
args:
chdir: ..
creates: "./dist/{{ awx_sdist_file }}"
delegate_to: localhost
docker_container:
image: "awx_sdist_builder:{{ awx_version }}"
name: awx_sdist_builder
state: started
detach: false
volumes:
- ../:/awx
- name: Set docker build base path
set_fact: