[JAVA] Bazel mit Alpen bauen

Hintergrund

Docker-Image zur Kompilierung

Es gab ein Git-Repository, das mit ./compile.sh kompiliert wurde, also habe ich einen Teil als Referenz ausgeliehen und extrahiert Docker-Datei.

bazel-build


FROM python:3.8-alpine3.11

ARG bazel_ver=3.1.0
ENV JAVA_HOME=/usr/lib/jvm/default-jvm \
    PATH="$JAVA_HOME/bin:${PATH}" \
    BAZEL_VERSION=3.1.0

RUN apk add --virtual .bazel_build --no-cache g++ gcc \
  bash zip unzip cmake make linux-headers openjdk8 && \
  wget -q "https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VERSION}/bazel-${BAZEL_VERSION}-dist.zip" \
  -O bazel.zip && \
  mkdir "bazel-${BAZEL_VERSION}" && \
  unzip -qd "bazel-${BAZEL_VERSION}" bazel.zip && \
  rm bazel.zip && \
  cd "bazel-${BAZEL_VERSION}" && \
  sed -i -e 's/-classpath/-J-Xmx6096m -J-Xms128m -classpath/g' \
  scripts/bootstrap/compile.sh && \
  EXTRA_BAZEL_ARGS=--host_javabase=@local_jdk//:jdk ./compile.sh && \
  cp -p output/bazel /usr/bin/ && \
  cd ../ && rm -rf "bazel-${BAZEL_VERSION}" && \
  bazel version && \
  apk del --purge .bazel_build

Alles, was Sie tun müssen, ist "Docker Build" und Push

wichtiger Punkt

  1. Fügen Sie beim Kompilieren aus dem Quellcode openjdk8 ein, da openjdk11 nicht unterstützt wird.

  2. Der durch sed ersetzte Teil gibt die Größe des Java-Heapspeichers an. Wenn es nicht angegeben wird, wird möglicherweise der Speicher belegt und die Daten fallen möglicherweise in die Mitte.

The system is out of resources.
Consult the following stack trace for details.
java.lang.OutOfMemoryError: Java heap space

Verweise

Recommended Posts

Bazel mit Alpen bauen
Baue Doma1 mit Ant
Baue Growai mit Centos7
Erstellen Sie Java mit Wercker
Erstellen Sie GitLab / Mattermost mit DockerForWindows
Erstellen Sie mit Centos7 ein Softether-VPN.
Erstellen einer Docker-Umgebung mit WSL
[Einführung] Erstellen Sie MVC mit Scala
Erstellen Sie DynamoDB local mit Docker
Erstellen Sie mit Docker eine lokale Couchbase-Umgebung
Erstellen eines Java-Projekts mit Gradle
Erstellen Sie mit Docker eine Node.js-Umgebung
Erstellen Sie mit Pleiades 4.8 eine Tomcat 8.5-Umgebung
Erstellen Sie eine Webanwendung mit Javalin
Wie man mssql-tools mit alpine benutzt
Erstellen Sie Java mit Mac vs Code
Erstellen Sie mit Eclipse eine Jooby-Entwicklungsumgebung
Erstellen Sie mit Laradock eine Docker + Laravel-Umgebung
Erstellen Sie mit Docker eine PureScript-Entwicklungsumgebung
Erstellen Sie eine REST-API mit Apache2 + Passenger + Sinatra.
Erstellen Sie einen DNS-Server mit CentOS 8 und binden Sie
De-cron! Erstellen Sie mit Rundeck einen Job Scheduler
CICS-Java-Anwendung ausführen- (2) Build-Management mit Maven
Erstellen Sie OpenCV mit Java Wrapper unter Ubuntu 18.04
[Docker] Erstellen Sie die Ausführungsumgebung von Jupyter Lab mit Docker
Erstellen Sie eine Umgebung mit Docker unter AWS
Erstellen Sie mit Docker eine TensorFlow-Betriebsüberprüfungsumgebung
So erstellen Sie eine Rails 6-Umgebung mit Docker