From f3900600af44fae05270b729b6a0a83cc924ad4d Mon Sep 17 00:00:00 2001 From: Sergii Kabashniuk Date: Tue, 12 May 2020 18:56:25 +0200 Subject: [PATCH] Use docker images instead of maven artifact to deliver che-dashboard && che-workspace-loader (#16802) Signed-off-by: Sergii Kabashniuk --- assembly/assembly-dashboard-war/pom.xml | 6 --- assembly/assembly-main/pom.xml | 19 +++++++- .../assembly-main/src/assembly/assembly.xml | 28 ++++------- .../assembly-workspace-loader-war/pom.xml | 39 ---------------- dockerfiles/che/Dockerfile | 13 +++++- dockerfiles/che/Dockerfile.centos | 46 ------------------- dockerfiles/che/Dockerfile.openj9 | 42 ----------------- 7 files changed, 38 insertions(+), 155 deletions(-) delete mode 100644 dockerfiles/che/Dockerfile.centos delete mode 100644 dockerfiles/che/Dockerfile.openj9 diff --git a/assembly/assembly-dashboard-war/pom.xml b/assembly/assembly-dashboard-war/pom.xml index b3cf3cc5428..a0ceb718035 100644 --- a/assembly/assembly-dashboard-war/pom.xml +++ b/assembly/assembly-dashboard-war/pom.xml @@ -29,11 +29,6 @@ org.eclipse.che.core che-core-commons-j2ee - - org.eclipse.che.dashboard - che-dashboard-war - war - @@ -46,7 +41,6 @@ org.eclipse.che.core:che-core-commons-j2ee - org.eclipse.che.dashboard:che-dashboard-war diff --git a/assembly/assembly-main/pom.xml b/assembly/assembly-main/pom.xml index d021ce2a8ec..b810f895cc6 100644 --- a/assembly/assembly-main/pom.xml +++ b/assembly/assembly-main/pom.xml @@ -12,7 +12,8 @@ Red Hat, Inc. - initial API and implementation --> - + 4.0.0 che-assembly-parent @@ -99,7 +100,21 @@ assembly-che-tomcat8 zip true - ${project.build.directory}/dependency + ${project.build.directory}/dependency/assembly-che-tomcat8 + + + org.eclipse.che + assembly-dashboard-war + war + true + ${project.build.directory}/dependency/assembly-dashboard-war + + + org.eclipse.che + assembly-workspace-loader-war + war + true + ${project.build.directory}/dependency/assembly-workspace-loader-war diff --git a/assembly/assembly-main/src/assembly/assembly.xml b/assembly/assembly-main/src/assembly/assembly.xml index 4037602abde..452f3dd6af7 100644 --- a/assembly/assembly-main/src/assembly/assembly.xml +++ b/assembly/assembly-main/src/assembly/assembly.xml @@ -38,24 +38,6 @@ org.eclipse.che:assembly-wsmaster-war - - false - false - tomcat/webapps - dashboard.war - - org.eclipse.che:assembly-dashboard-war - - - - false - false - tomcat/webapps - workspace-loader.war - - org.eclipse.che:assembly-workspace-loader-war - - false false @@ -76,12 +58,20 @@ - ${project.build.directory}/dependency/ + ${project.build.directory}/dependency/assembly-che-tomcat8 tomcat/ bin/*.bat + + ${project.build.directory}/dependency/assembly-dashboard-war + tomcat/webapps/dashboard + + + ${project.build.directory}/dependency/assembly-workspace-loader-war + tomcat/webapps/workspace-loader + ${project.basedir}/src/assembly diff --git a/assembly/assembly-workspace-loader-war/pom.xml b/assembly/assembly-workspace-loader-war/pom.xml index 8ff7673cad8..ebafd27d2d2 100644 --- a/assembly/assembly-workspace-loader-war/pom.xml +++ b/assembly/assembly-workspace-loader-war/pom.xml @@ -30,44 +30,5 @@ javax.servlet-api provided - - org.eclipse.che.workspace.loader - che-workspace-loader - zip - runtime - - - - - org.apache.maven.plugins - maven-war-plugin - - - - org.eclipse.che.workspace.loader - che-workspace-loader - zip - - - /webapp/ - - - - org.apache.maven.plugins - maven-dependency-plugin - - - analyze - - - - org.eclipse.che.workspace.loader:che-workspace-loader - - - - - - - diff --git a/dockerfiles/che/Dockerfile b/dockerfiles/che/Dockerfile index e0647c1f041..c3fb32d572a 100644 --- a/dockerfiles/che/Dockerfile +++ b/dockerfiles/che/Dockerfile @@ -5,7 +5,16 @@ # # SPDX-License-Identifier: EPL-2.0 # -FROM openjdk:8u242-jre-slim + +# Variables in `COPY --from=` is not supported see https://github.com/moby/moby/issues/34482 +# this is workaround to handle that. +ARG CHE_DASHBOARD_VERSION=next +ARG CHE_WORKSPACE_LOADER_VERSION=next + +FROM quay.io/eclipse/che-dashboard:${CHE_DASHBOARD_VERSION} as che_dashboard_base +FROM quay.io/eclipse/che-workspace-loader:${CHE_WORKSPACE_LOADER_VERSION} as che_workspace_loader_base + +FROM openjdk:8u252-jre-slim ENV LANG=C.UTF-8 RUN echo "%root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && rm -rf /tmp/* EXPOSE 8000 8080 @@ -13,5 +22,7 @@ COPY entrypoint.sh /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] RUN mkdir /logs /data && \ chmod 0777 /logs /data +COPY --from=che_dashboard_base /usr/local/apache2/htdocs/dashboard /home/user/eclipse-che/tomcat/webapps/dashboard +COPY --from=che_workspace_loader_base /usr/local/apache2/htdocs/workspace-loader/ /home/user/eclipse-che/tomcat/webapps/workspace-loader ADD eclipse-che /home/user/eclipse-che RUN find /home/user -type d -exec chmod 777 {} \; diff --git a/dockerfiles/che/Dockerfile.centos b/dockerfiles/che/Dockerfile.centos deleted file mode 100644 index 254f2767f26..00000000000 --- a/dockerfiles/che/Dockerfile.centos +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright (c) 2012-2016 Red Hat, Inc -# This program and the accompanying materials are made -# available under the terms of the Eclipse Public License 2.0 -# which is available at https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# Dharmit Shah - Initial implementation -# Mario Loriedo - Improvements -# -# To build it, in current folder: -# cp Dockerfile.centos Dockerfile -# ./build.sh -# -# To run it: -# docker run -d -p 8080:8080 \ -# --name che \ -# -v /var/run/docker.sock:/var/run/docker.sock \ -# -v ~/.che/workspaces:/data \ -# quay.io/eclipse/che-server:nightly -# -FROM registry.centos.org/centos/centos:7 - -ENV LANG=C.UTF-8 \ - JAVA_HOME=/usr/lib/jvm/jre-1.8.0 \ - PATH=${PATH}:${JAVA_HOME}/bin - -RUN yum -y update && \ - yum -y install java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64 sudo && \ - yum clean all && \ - echo "%root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ - sed -i 's/Defaults requiretty/#Defaults requiretty/g' /etc/sudoers && \ - rm -rf /tmp/* /var/cache/yum - -# The following lines are needed to set the correct locale after `yum update` -# c.f. https://github.com/CentOS/sig-cloud-instance-images/issues/71 -RUN localedef -i en_US -f UTF-8 C.UTF-8 -ENV LANG="C.UTF-8" - -EXPOSE 8000 8080 -COPY entrypoint.sh /entrypoint.sh -ENTRYPOINT ["/entrypoint.sh"] -RUN mkdir -m 0777 /logs /data -COPY eclipse-che /home/user/eclipse-che -RUN find /home/user -type d -exec chmod 777 {} \; diff --git a/dockerfiles/che/Dockerfile.openj9 b/dockerfiles/che/Dockerfile.openj9 deleted file mode 100644 index 85a22928c62..00000000000 --- a/dockerfiles/che/Dockerfile.openj9 +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright (c) 2017 Red Hat, Inc. -# This program and the accompanying materials are made -# available under the terms of the Eclipse Public License 2.0 -# which is available at https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# Florent Benoit - Initial Implementation -# -# To build it, run in the repository root: -# `docker build -t quay.io/eclipse/che-server:openj9 -f Dockerfile.openj9 .` -# -# To run it: -# docker run -e IMAGE_CHE=quay.io/eclipse/che-server:openj9 \ -# -it \ -# --rm \ -# -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/data:/data \ -# eclipse/che:nightly start --fast -# - -FROM adoptopenjdk/openjdk9-openj9:x86_64-alpine-jdk-9.181 - -ENV LANG=C.UTF-8 \ - DOCKER_VERSION=1.6.0 \ - DOCKER_BUCKET=get.docker.com \ - CHE_IN_CONTAINER=true - -RUN echo "http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ - apk add --update curl openssl sudo bash && \ - curl -sSL "https://${DOCKER_BUCKET}/builds/Linux/x86_64/docker-${DOCKER_VERSION}" -o /usr/bin/docker && \ - chmod +x /usr/bin/docker && \ - echo "%root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ - rm -rf /tmp/* /var/cache/apk/* - -EXPOSE 8000 8080 -COPY entrypoint.sh /entrypoint.sh -ENTRYPOINT ["/entrypoint.sh"] -RUN mkdir /logs /data && \ - chmod 0777 /logs /data -ADD eclipse-che /home/user/eclipse-che -RUN find /home/user -type d -exec chmod 777 {} \;