You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/scripts/build/build_node/Platform/Linux/Dockerfile

58 lines
2.5 KiB
Docker

#
# Copyright (c) Contributors to the Open 3D Engine Project.
# For complete copyright and license terms please see the LICENSE at the root of this distribution.
#
# SPDX-License-Identifier: Apache-2.0 OR MIT
#
# This is a base Dockerfile to use for self-containing local or remote development environments
#
# Once docker is installed, build a local image with this command:
# `docker build /localDockerfilepath -t ubuntu-build:latest`
#
# To build using a local repo on disk, run this command:
# `docker run -it -v /localo3depath:/data/workspace/o3de -v /localbuildpath:/data/workspace/o3de/build -v /local3rdPartypath:/root/.o3de/3rdParty \
# --name build-o3de -d ubuntu-build:latest /bin/sh -c 'cd /data/workspace/o3de && python/python.sh -u scripts/build/ci_build.py --platform Linux --type profile'`
#
# Attach to the running build to interact or view logs using this command:
# `docker attach build-o3de`
FROM ubuntu:20.04
WORKDIR /data/workspace
# Initilize apt cache
RUN apt-get clean && apt-get update
# Setup time zone and locale data (necessary for SSL and HTTPS packages)
RUN DEBIAN_FRONTEND="noninteractive" apt-get -y install tzdata locales keyboard-configuration
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
dpkg-reconfigure --frontend=noninteractive locales && \
update-locale LANG=en_US.UTF-8
ENV LANG=en_US.UTF-8
# Install common tools
RUN apt-get -y install tar sudo less vim lsof firewalld net-tools pciutils \
file wget kmod xz-utils ca-certificates binutils kbd \
python3-pip bind9-utils jq bc unzip git git-lfs lsb-release \
software-properties-common
# Install build and development tools
RUN git clone --no-checkout https://github.com/o3de/o3de.git .o3de && \
cd .o3de && \
git sparse-checkout init --cone && \
git sparse-checkout set scripts/build/build_node && \
cd scripts/build/build_node/Platform/Linux && \
./install-ubuntu.sh
# Install supported version of cmake if build tool installation runs into issues
ENV CMAKE_VER=3.21.1-0kitware1ubuntu20.04.1
RUN $(cmake --version) || apt-get -y install cmake=${CMAKE_VER} cmake-data=${CMAKE_VER}
# Symlink clang version to non-versioned clang and set cc to clang
RUN find /usr/bin/ -name clang* | sed -E 's/^(\/usr\/bin\/.*)(\-[0-9]*)$/ln -s -v \1\2 \1/' | xargs -d '\n' -n 1 bash -c && \
update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100 && \
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 100