mirror of
https://github.com/ansible/awx.git
synced 2026-05-06 17:07:36 -02:30
Allow for building headless mode
This will only be used in CI and maybe other places where we dont need a UI
This commit is contained in:
15
Makefile
15
Makefile
@@ -379,7 +379,7 @@ clean-ui:
|
|||||||
awx/ui/node_modules:
|
awx/ui/node_modules:
|
||||||
NODE_OPTIONS=--max-old-space-size=4096 $(NPM_BIN) --prefix awx/ui --loglevel warn ci
|
NODE_OPTIONS=--max-old-space-size=4096 $(NPM_BIN) --prefix awx/ui --loglevel warn ci
|
||||||
|
|
||||||
$(UI_BUILD_FLAG_FILE):
|
$(UI_BUILD_FLAG_FILE): awx/ui/node_modules
|
||||||
$(PYTHON) tools/scripts/compilemessages.py
|
$(PYTHON) tools/scripts/compilemessages.py
|
||||||
$(NPM_BIN) --prefix awx/ui --loglevel warn run compile-strings
|
$(NPM_BIN) --prefix awx/ui --loglevel warn run compile-strings
|
||||||
$(NPM_BIN) --prefix awx/ui --loglevel warn run build
|
$(NPM_BIN) --prefix awx/ui --loglevel warn run build
|
||||||
@@ -391,7 +391,9 @@ $(UI_BUILD_FLAG_FILE):
|
|||||||
cp -r awx/ui/build/static/media/* awx/public/static/media
|
cp -r awx/ui/build/static/media/* awx/public/static/media
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
ui-release: awx/ui/node_modules $(UI_BUILD_FLAG_FILE)
|
|
||||||
|
|
||||||
|
ui-release: $(UI_BUILD_FLAG_FILE)
|
||||||
|
|
||||||
ui-devel: awx/ui/node_modules
|
ui-devel: awx/ui/node_modules
|
||||||
@$(MAKE) -B $(UI_BUILD_FLAG_FILE)
|
@$(MAKE) -B $(UI_BUILD_FLAG_FILE)
|
||||||
@@ -420,10 +422,17 @@ dev_build:
|
|||||||
release_build:
|
release_build:
|
||||||
$(PYTHON) setup.py release_build
|
$(PYTHON) setup.py release_build
|
||||||
|
|
||||||
dist/$(SDIST_TAR_FILE): ui-release VERSION
|
HEADLESS ?= no
|
||||||
|
ifeq ($(HEADLESS), yes)
|
||||||
|
dist/$(SDIST_TAR_FILE):
|
||||||
|
else
|
||||||
|
dist/$(SDIST_TAR_FILE): $(UI_BUILD_FLAG_FILE)
|
||||||
|
endif
|
||||||
$(PYTHON) setup.py $(SDIST_COMMAND)
|
$(PYTHON) setup.py $(SDIST_COMMAND)
|
||||||
|
ln -sf $(SDIST_TAR_FILE) dist/awx.tar.gz
|
||||||
|
|
||||||
sdist: dist/$(SDIST_TAR_FILE)
|
sdist: dist/$(SDIST_TAR_FILE)
|
||||||
|
echo $(HEADLESS)
|
||||||
@echo "#############################################"
|
@echo "#############################################"
|
||||||
@echo "Artifacts:"
|
@echo "Artifacts:"
|
||||||
@echo dist/$(SDIST_TAR_FILE)
|
@echo dist/$(SDIST_TAR_FILE)
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
---
|
---
|
||||||
build_dev: false
|
build_dev: false
|
||||||
kube_dev: false
|
kube_dev: false
|
||||||
|
headless: no
|
||||||
dockerfile_dest: '../..'
|
dockerfile_dest: '../..'
|
||||||
dockerfile_name: 'Dockerfile'
|
dockerfile_name: 'Dockerfile'
|
||||||
template_dest: '_build'
|
template_dest: '_build'
|
||||||
|
|||||||
@@ -17,6 +17,4 @@ set -e
|
|||||||
|
|
||||||
wait-for-migrations
|
wait-for-migrations
|
||||||
|
|
||||||
awx-manage collectstatic --noinput --clear
|
|
||||||
|
|
||||||
supervisord -c /etc/supervisord.conf
|
supervisord -c /etc/supervisord.conf
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ ENV LANG en_US.UTF-8
|
|||||||
ENV LANGUAGE en_US:en
|
ENV LANGUAGE en_US:en
|
||||||
ENV LC_ALL en_US.UTF-8
|
ENV LC_ALL en_US.UTF-8
|
||||||
|
|
||||||
|
|
||||||
USER root
|
USER root
|
||||||
|
|
||||||
# Install build dependencies
|
# Install build dependencies
|
||||||
@@ -27,7 +28,9 @@ RUN dnf -y update && \
|
|||||||
libffi-devel \
|
libffi-devel \
|
||||||
libtool-ltdl-devel \
|
libtool-ltdl-devel \
|
||||||
make \
|
make \
|
||||||
|
{% if not headless|bool %}
|
||||||
nodejs \
|
nodejs \
|
||||||
|
{% endif %}
|
||||||
nss \
|
nss \
|
||||||
openldap-devel \
|
openldap-devel \
|
||||||
patch \
|
patch \
|
||||||
@@ -44,6 +47,7 @@ RUN dnf -y update && \
|
|||||||
|
|
||||||
RUN python3.8 -m ensurepip && pip3 install "virtualenv < 20"
|
RUN python3.8 -m ensurepip && pip3 install "virtualenv < 20"
|
||||||
|
|
||||||
|
|
||||||
# Install & build requirements
|
# Install & build requirements
|
||||||
ADD Makefile /tmp/Makefile
|
ADD Makefile /tmp/Makefile
|
||||||
RUN mkdir /tmp/requirements
|
RUN mkdir /tmp/requirements
|
||||||
@@ -56,19 +60,27 @@ RUN cd /tmp && make requirements_awx
|
|||||||
|
|
||||||
ARG VERSION
|
ARG VERSION
|
||||||
ARG SETUPTOOLS_SCM_PRETEND_VERSION
|
ARG SETUPTOOLS_SCM_PRETEND_VERSION
|
||||||
|
ARG HEADLESS
|
||||||
|
|
||||||
{% if (build_dev|bool) or (kube_dev|bool) %}
|
{% if (build_dev|bool) or (kube_dev|bool) %}
|
||||||
ADD requirements/requirements_dev.txt /tmp/requirements
|
ADD requirements/requirements_dev.txt /tmp/requirements
|
||||||
RUN cd /tmp && make requirements_awx_dev
|
RUN cd /tmp && make requirements_awx_dev
|
||||||
{% else %}
|
{% else %}
|
||||||
# Use the distro provided npm to bootstrap our required version of node
|
# Use the distro provided npm to bootstrap our required version of node
|
||||||
RUN npm install -g n && n 14.15.1 && dnf remove -y nodejs
|
|
||||||
|
{% if not headless|bool %}
|
||||||
|
RUN npm install -g n && n 14.15.1
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
# Copy source into builder, build sdist, install it into awx venv
|
# Copy source into builder, build sdist, install it into awx venv
|
||||||
COPY . /tmp/src/
|
COPY . /tmp/src/
|
||||||
WORKDIR /tmp/src/
|
WORKDIR /tmp/src/
|
||||||
RUN make sdist && \
|
RUN make sdist && /var/lib/awx/venv/awx/bin/pip install dist/awx.tar.gz
|
||||||
/var/lib/awx/venv/awx/bin/pip install dist/awx-$(cat VERSION).tar.gz
|
|
||||||
|
{% if not headless|bool %}
|
||||||
|
RUN /var/lib/awx/venv/awx/bin/awx-manage collectstatic --noinput --clear
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
# Final container(s)
|
# Final container(s)
|
||||||
|
|||||||
@@ -2,4 +2,4 @@
|
|||||||
awx_image: ansible/awx
|
awx_image: ansible/awx
|
||||||
awx_image_tag: "{{ awx_version }}"
|
awx_image_tag: "{{ awx_version }}"
|
||||||
dockerfile_name: 'Dockerfile'
|
dockerfile_name: 'Dockerfile'
|
||||||
|
headless: no
|
||||||
|
|||||||
Reference in New Issue
Block a user