forked from areina/elfeed-cljsrn
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
93 lines (65 loc) · 3.04 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
FROM clojure:lein
WORKDIR /tmp
ENV WATCHMAN_VERSION=4.5.0
RUN apt-get update && apt-get install -y autogen autoconf make gcc python-dev
RUN wget --quiet https://github.com/facebook/watchman/archive/v$WATCHMAN_VERSION.tar.gz -O /tmp/watchman-v$WATCHMAN_VERSION.tar.gz \
&& tar -C /tmp/ -zxf watchman-v$WATCHMAN_VERSION.tar.gz \
&& cd /tmp/watchman-4.5.0/ && ./autogen.sh && ./configure && make && make install
# Install 32bit support for Android SDK
RUN dpkg --add-architecture i386 && \
apt-get update -q && \
apt-get install -qy --no-install-recommends libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386
RUN mkdir -p /usr/local/android-sdk-linux && \
wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip -O tools.zip && \
unzip tools.zip -d /usr/local/android-sdk-linux && \
rm tools.zip
# Set environment variable
ENV ANDROID_HOME /usr/local/android-sdk-linux
ENV PATH ${ANDROID_HOME}/tools:$ANDROID_HOME/platform-tools:$PATH
# Make license agreement
RUN mkdir $ANDROID_HOME/licenses && \
echo 8933bad161af4178b1185d1a37fbf41ea5269c55 > $ANDROID_HOME/licenses/android-sdk-license && \
echo d56f5187479451eabf01fb78af6dfcb131a6481e >> $ANDROID_HOME/licenses/android-sdk-license && \
echo 24333f8a63b6825ea9c5514f83c2829b004d1fee >> $ANDROID_HOME/licenses/android-sdk-license && \
echo 84831b9409646a918e30573bab4c9c91346d8abd > $ANDROID_HOME/licenses/android-sdk-preview-license
# Update and install using sdkmanager
RUN $ANDROID_HOME/tools/bin/sdkmanager "tools" "platform-tools" && \
$ANDROID_HOME/tools/bin/sdkmanager "build-tools;28.0.3" && \
$ANDROID_HOME/tools/bin/sdkmanager "platforms;android-24"
RUN $ANDROID_HOME/tools/bin/sdkmanager "system-images;android-24;google_apis;x86_64" && \
$ANDROID_HOME/tools/bin/sdkmanager "system-images;android-24;google_apis;armeabi-v7a"
RUN $ANDROID_HOME/tools/bin/sdkmanager "extras;android;m2repository"
RUN echo "no" | $ANDROID_HOME/tools/bin/avdmanager create avd \
--force \
--name test \
--package "system-images;android-24;google_apis;armeabi-v7a" \
--abi armeabi-v7a \
--sdcard 512M
# # Support Gradle
ENV TERM dumb
ENV JAVA_OPTS -Xms256m -Xmx512m
ENV GRADLE_USER_HOME /usr/src/app/android/gradle_deps
RUN update-ca-certificates -f
RUN wget -qO- https://deb.nodesource.com/setup_8.x | bash - \
&& apt-get install -y nodejs
ENV PATH $PATH:node_modules/.bin
WORKDIR /usr/src/app
COPY project.clj .
RUN lein deps
RUN ls
COPY package*.json .
RUN npm install -g react-native-cli re-natal
RUN npm install && npm i invariant
RUN apt-get install acl
RUN user=jenkins \
&& uid=1000 \
&& gid=1000 \
&& group=shared \
&& JENKINS_HOME=/usr/src/app \
&& mkdir -p $JENKINS_HOME \
&& groupadd -g ${gid} ${group} \
&& useradd -u ${uid} -g ${group} ${user} \
&& cd && mkdir /home/jenkins/ && chown -R ${user}:${group} /home \
&& chown jenkins:shared /usr/local/bin/lein \
&& setfacl -Rdm g:shared:rwx $JENKINS_HOME
# CMD ["lein", "run"]