Skip to content

Instantly share code, notes, and snippets.

@hlavki
Last active January 19, 2018 07:30
Show Gist options
  • Save hlavki/511256c5488213630874609ceb2ba125 to your computer and use it in GitHub Desktop.
Save hlavki/511256c5488213630874609ceb2ba125 to your computer and use it in GitHub Desktop.
Build mattermost-mobile in ubuntu:xenial
#!/bin/bash
cd $DEVEL_HOME
if [ ! -e "$DEVEL_HOME/mattermost.keystore" ]; then
keytool -genkey -v -keystore $DEVEL_HOME/mattermost.keystore -alias mattermost -keyalg RSA -keysize 2048 -validity 10000 -storepass changeme --keypass changeme -dname "CN=mattermost, OU=devel, O=xIT, L=Bratislava, S=Bratislava, C=SK"
mkdir -p ~/.gradle/
echo "MATTERMOST_RELEASE_STORE_FILE=$DEVEL_HOME/mattermost.keystore" >> ~/.gradle/gradle.properties
echo "MATTERMOST_RELEASE_KEY_ALIAS=mattermost" >> ~/.gradle/gradle.properties
echo "MATTERMOST_RELEASE_PASSWORD=changeme" >> ~/.gradle/gradle.properties
fi
git clone https://github.com/mattermost/mattermost-mobile.git
cd $DEVEL_HOME/mattermost-mobile
git checkout release-1.5
cd fastlane
sudo bundle install
cd ..
sed -i 's/184930218130/250533560677/g' android/app/src/main/AndroidManifest.xml
make build-android release
FROM ubuntu:xenial
RUN apt-get clean && apt-get update && apt-get install -y locales && locale-gen en_US.UTF-8 && rm -rf /var/lib/apt/lists/*
ENV USERNAME=docker
ENV DEVEL_HOME="/home/${USERNAME}/develop"
ENV ANDROID_HOME="${DEVEL_HOME}/android/sdk"
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' \
PATH="${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/tools:$PATH" \
SUBMIT_ANDROID_TO_GOOGLE_PLAY=false ANDROID_BUILD_FOR_RELEASE=true SUPPLY_TRACK=beta
RUN sed -i -e 's/archive.ubuntu.com/archive.ubuntu.cz/g' /etc/apt/sources.list; \
sed -i -e 's/security.ubuntu.com/archive.ubuntu.cz/g' /etc/apt/sources.list; \
apt-get update; \
apt-get install -y sudo apt-utils build-essential default-jdk git autoconf automake python-dev libssl-dev libtool pkg-config curl rubygems ruby-dev lib32stdc++6 lib32z1 nodejs; \
curl -sL https://deb.nodesource.com/setup_8.x | bash -; \
apt-get install -y nodejs; \
sysctl -w fs.inotify.max_user_watches=1048576; \
rm -rf /var/lib/apt/lists/*
RUN useradd -m $USERNAME && groupadd nopwd && echo "$USERNAME:$USERNAME" | chpasswd && usermod -aG sudo,nopwd $USERNAME; \
echo "%nopwd ALL=NOPASSWD: ALL" | sudo tee -a /etc/sudoers
USER docker
RUN mkdir -p $DEVEL_HOME; \
cd $DEVEL_HOME; \
git clone https://github.com/facebook/watchman.git; \
cd $DEVEL_HOME/watchman; \
git checkout tags/v4.9.0; \
./autogen.sh && ./configure && make && sudo make install; \
cd $DEVEL_HOME && rm -rf ~/$DEVEL_HOME/watchman; \
mkdir -p $ANDROID_HOME && cd $ANDROID_HOME; \
curl -o sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip; \
unzip ./sdk.zip && rm ./sdk.zip; \
echo y | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;23.0.3" "build-tools;25.0.3" "build-tools;26.0.1" "platform-tools"; \
sudo gem install bundler && sudo gem install cocoapods; \
sudo npm install -g react-native-cli && sudo npm install -g yarn; \
sudo chown -R docker:docker /home/$USERNAME/.config
WORKDIR ${DEVEL_HOME}
CMD ["/bin/bash"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment