[JAVA] Construisez bazel avec alpin

Contexte

Image Docker pour compilation

Il y avait un référentiel git compilé avec ./compile.sh, j'ai donc emprunté et extrait une partie pour référence dockerfile.

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

Tout ce que vous avez à faire est `` docker build '' et pousser

point important

  1. Lors de la compilation à partir des sources, insérez openjdk8 car il ne prend pas en charge openjdk11.

  2. La partie remplacée par «sed» spécifie la taille de la mémoire de tas Java. S'il n'est pas spécifié, la mémoire peut être consommée et les données peuvent chuter au milieu.

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

Les références

Recommended Posts

Construisez bazel avec alpin
Construire Doma1 avec Ant
Construisez Growai avec Centos7
Construire Java avec Wercker
Construire GitLab / Mattermost avec DockerForWindows
Créez un VPN softether avec Centos7.
Créer un environnement Docker avec WSL
[Introduction] Construire MVC avec Scala
Construire DynamoDB local avec Docker
Créer un environnement local Couchbase avec Docker
Construire un projet Java avec Gradle
Créer un environnement Node.js avec Docker
Créer un environnement Tomcat 8.5 avec Pleiades 4.8
Créer une application Web avec Javalin
Comment utiliser mssql-tools avec Alpine
Construire Java avec Mac vs Code
Créer un environnement de développement Jooby avec Eclipse
Créez un environnement Docker + Laravel avec Laradock
Créer un environnement de développement PureScript avec Docker
Créez une API REST avec Apache2 + Passenger + Sinatra.
Créer un serveur DNS avec CentOS 8 et lier
Dé-cron! Créez un planificateur de tâches avec Rundeck
Application Java CICS-Run - (2) Gestion de build avec Maven
Construire OpenCV avec Java Wrapper sur Ubuntu 18.04
[Docker] Construisez l'environnement d'exécution de Jupyter Lab avec Docker
Créer un environnement avec Docker sur AWS
Créer un environnement de vérification des opérations TensorFlow avec Docker
Comment créer un environnement Rails 6 avec Docker