1
0

Dockerfile 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. FROM node
  2. ARG GO_AGENT_VERSION=16.1.0
  3. ARG GO_AGENT_BUILD=2855
  4. RUN apt-get clean && apt-get update \
  5. && apt-get install -y \
  6. curl \
  7. git \
  8. subversion \
  9. unzip \
  10. && apt-get update \
  11. && apt-get install -y \
  12. build-essential \
  13. nodejs
  14. RUN apt-get clean && apt-get install -y mongodb
  15. RUN apt-get clean \
  16. && rm -rf /var/lib/apt/listss/* /tmp/* /var/tmp/*
  17. RUN cd /var/lib \
  18. && curl -sL "http://wwwftp.ciril.fr/pub/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz" | tar -zx \
  19. && curl -sL -o gradle-2.11-all.zip "https://services.gradle.org/distributions/gradle-2.11-all.zip" \
  20. && unzip -q gradle-2.11-all.zip \
  21. && rm gradle-2.11-all.zip \
  22. && rm -rf gradle-2.11/samples gradle-2.11/docs gradle-2.11/media gradle-2.11/src
  23. ENV MAVEN_HOME /var/lib/apache-maven-3.3.9
  24. ENV GRADLE_HOME /var/lib/gradle-2.11
  25. ENV PATH $PATH:$MAVEN_HOME/bin:$GRADLE_HOME/bin
  26. WORKDIR /opt
  27. RUN curl -sL -o - --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" -q "http://download.oracle.com/otn-pub/java/jdk/8u66-b17/jdk-8u66-linux-x64.tar.gz" | tar xzf - && \
  28. update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_66/bin/java 120 \
  29. && update-alternatives --install /usr/bin/keytool keytool /opt/jdk1.8.0_66/bin/keytool 120\
  30. && update-alternatives --install /usr/bin/rmiregistry rmiregistry /opt/jdk1.8.0_66/bin/rmiregistry 120\
  31. && update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_66/bin/javac 120 \
  32. --slave /usr/bin/jar jar /opt/jdk1.8.0_66/bin/jar \
  33. --slave /usr/bin/rmic rmic /opt/jdk1.8.0_66/bin/rmic\
  34. && update-alternatives --set java /opt/jdk1.8.0_66/bin/java\
  35. && update-alternatives --set keytool /opt/jdk1.8.0_66/bin/keytool \
  36. && update-alternatives --set rmiregistry /opt/jdk1.8.0_66/bin/rmiregistry \
  37. && echo "export JAVA_HOME=/opt/jdk1.8.0_66" >> /.profile
  38. # Installing CloudFoundry
  39. RUN cd /tmp \
  40. && curl -sL -o cf-cli-installer_6.15.0_x86-64.deb "https://cli.run.pivotal.io/stable?release=debian64&version=6.15.0&source=github-rel" \
  41. && dpkg -i -E cf-cli-installer_6.15.0_x86-64.deb \
  42. && cf add-plugin-repo bluemix-cf-staging http://plugins.ng.bluemix.net >/dev/null 2>&1
  43. # Installing Go agent
  44. RUN cd /tmp \
  45. && curl -sL -o go-agent.deb "https://download.go.cd/binaries/${GO_AGENT_VERSION}-${GO_AGENT_BUILD}/deb/go-agent-${GO_AGENT_VERSION}-${GO_AGENT_BUILD}.deb" \
  46. && dpkg -i --ignore-depends=java7-runtime-headless -E go-agent.deb \
  47. && sed -i -e 's#GO_SERVER=127.0.0.1#GO_SERVER=gocd-server#' /etc/default/go-agent \
  48. && sed -i -e 's#JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64/jre"#JAVA_HOME="/opt/jdk1.8.0_66/jre"#' /etc/default/go-agent
  49. RUN git config --global url."https://".insteadOf git://
  50. #VOLUME ["/var/lib/go-agent", "/var/log/go-agent", "/var/go/.ssh"]
  51. COPY autoregister.properties /var/lib/go-agent/config/autoregister.properties
  52. CMD until curl -s -o /dev/null "http://${GO_SERVER}:${GO_SERVER_PORT}"; do sleep 5; done; \
  53. if [ -n "$AGENT_KEY" ]]; then \
  54. sed -i -e 's/=.*/=/g' -e "s/key=/key=$AGENT_KEY/" -e "s/resources=/resources=$AGENT_RESOURCES/" /var/lib/go-agent/config/autoregister.properties; \
  55. fi; \
  56. (/usr/share/go-agent/agent.sh &); (service mongodb start); while [ ! -f /var/log/go-agent/go-agent-bootstrapper.log ]; do sleep 1; done; exec tail -F /var/log/go-agent/*