-
-
Save 14paxton/c9fba71cd90ec3716974a48e386b3e1f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM amkul99/zulujdk7:latest as grailsInstall | |
RUN apt-get update | |
RUN rm /bin/sh && ln -s /bin/bash /bin/sh | |
RUN apt-get -qq -y install curl unzip zip wget | |
ARG SDKMAN_DIR=$HOME/.sdkman | |
ARG GRAILSVERSION=2.0.3 | |
ARG GROOVYVERSION=1.8.6 | |
####Install Grails | |
#INSTALL FROM SDKMAN | |
RUN curl -s "https://get.sdkman.io" | bash && \ | |
echo "sdkman_auto_answer=true" > $SDKMAN_DIR/etc/config && \ | |
echo "sdkman_auto_selfupdate=false" >> $SDKMAN_DIR/etc/config | |
ENV PATH="$SDKMAN_DIR/bin:$PATH" | |
RUN bash -c "source $SDKMAN_DIR/bin/sdkman-init.sh && sdk install grails $GRAILSVERSION && sdk install groovy $GROOVYVERSION" && \ | |
rm -rf "$SDKMAN_DIR/archives/*" && \ | |
rm -rf "$SDKMAN_DIR/tmp/* " | |
ENV GRAILS_HOME $SDKMAN_DIR/candidates/grails/current | |
ENV GROOVY_HOME $SDKMAN_DIR/candidates/groovy/current | |
####INSTALL FROM GITHUB | |
#WORKDIR /usr/lib/jvm | |
#RUN wget https://github.com/grails/grails-core/releases/download/v$GRAILS_VERSION/grails-$GRAILS_VERSION.zip && \ | |
# unzip grails-$GRAILS_VERSION.zip && \ | |
# ln -s grails-$GRAILS_VERSION grails | |
# # Setup Grails path. | |
#ENV GRAILS_HOME /usr/lib/jvm/grails/ | |
ENV PATH="$PATH:$GRAILS_HOME/bin" | |
ENV PATH="$GROOVY_HOME/bin:$PATH" | |
RUN bash -c "yes n | grails help" | |
#COPY APP INTO CONTAINER | |
WORKDIR /usr/lib/grailsApp | |
ADD ./. . | |
VOLUME /grailsInstall | |
FROM --platform=linux/amd64 grailsInstall as tomcatInstall | |
ENV CATALINA_HOME /usr/local/tomcat | |
ENV PATH $CATALINA_HOME/bin:$PATH | |
RUN mkdir -p "$CATALINA_HOME" | |
WORKDIR $CATALINA_HOME | |
ENV TOMCAT_MAJOR 7 | |
ENV TOMCAT_VERSION 7.0.20 | |
ENV TOMCAT_TGZ_URL https://archive.apache.org/dist/tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz | |
# https://archive.apache.org/dist/tomcat/tomcat-6/v6.0.32/bin/ | |
RUN curl -fSL "$TOMCAT_TGZ_URL" -o tomcat.tar.gz \ | |
&& tar -xvf tomcat.tar.gz --strip-components=1 \ | |
&& rm bin/*.bat \ | |
&& rm tomcat.tar.gz* | |
WORKDIR $CATALINA_HOME/webapps/ | |
RUN echo '<?xml version="1.0" encoding="utf-8"?><tomcat-users><role rolename="manager-gui"/><user username="admin" password="admin" roles="manager-gui"/></tomcat-users>' > /usr/local/tomcat/conf/tomcat-users.xml | |
VOLUME /tomcatInstall | |
FROM --platform=linux/amd64 tomcatInstall as grailsBuild | |
#PULL IN MISSING DEPENDENCIES FOR TB6 | |
#ARG MISSING_ZIPS_DIR=$GRAILS_HOME/src/libs | |
#RUN wget -P $MISSING_ZIPS_DIR/mail-1.0.1.jar "https://repo.grails.org/ui/native/plugins/org/grails/plugins/mail/1.0.1/mail-1.0.1.zip" | |
#RUN wget -P $MISSING_ZIPS_DIR/crowd-0.4.jar "https://repo.grails.org/ui/native/plugins/org/grails/plugins/crowd/0.4/crowd-0.4.zip" | |
#RUN wget -P $MISSING_ZIPS_DIR/ui-performance-1.2.2.jar "https://repo.grails.org/ui/native/plugins/org/grails/plugins/ui-performance/1.2.2/ui-performance-1.2.2.zip" | |
#RUN wget -P $MISSING_ZIPS_DIR/rest-0.7.jar "https://repo.grails.org/ui/native/plugins/org/grails/plugins/rest/0.7/rest-0.7.zip" | |
#RUN wget -P $MISSING_ZIPS_DIR/remote-pagination-0.2.8.jar "https://repo.grails.org/ui/native/plugins/org/grails/plugins/remote-pagination/0.2.8/remote-pagination-0.2.8.zip" | |
#RUN wget -P $MISSING_ZIPS_DIR/mail-1.4.3.jar "https://maven.java.net/content/repositories/releases/javax/mail/mail/1.4.3/mail-1.4.3.jar" | |
#RUN wget -P $MISSING_ZIPS_DIR/http-builder-0.5.1.jar "https://repo1.maven.org/maven2/org/codehaus/groovy/modules/http-builder/http-builder/0.5.1/http-builder-0.5.1.jar" | |
WORKDIR /usr/lib/grailsApp | |
#ADD MISSING JARS TO GRAILS APP LIB FOLDER | |
#RUN cp -R $MISSING_ZIPS_DIR/* ./lib/ | |
RUN ant -buildfile ./build/build.xml | |
RUN ant clean | |
RUN ant war | |
RUN ant dev | |
#RUN ant "tomcat_deploy" -f ./build/build.xml | |
RUN cp /build/*.war $CATALINA_HOME/webapps/ | |
##EITHER CREATE WAR AND DROP IN TOMCAT WEBAPPS FOLDER, AND START | |
##OR GRAILS SHOULD BE PACKAGED WITH TOMCAT RUN-APP AND RUN-WAR SHOULD SPIN UP APP CONTAINED IN THE TOMCAT INSTANCE | |
## !!! RUN-WAR USES DEPENDENCIES CONTAINED WITHIN THE PRODUCED WAR, RUN-APP IN THE FILE STRUCTURE, RUN-APP WILL HOTSWAP | |
RUN bash -c "catalina.sh start" | |
EXPOSE 80800 | |
RUN #bash -c "yes y | grails run-war" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment