# Conflicts:
#	docker/Emulator_x86
#	docker/configs/sources1810.list
#	docker/configs/x11vnc.pref
#	docker/sources1810.list
#	docker/x11vnc.pref
#	src/sources1810.list
#	src/x11vnc.pref
This commit is contained in:
Trinh Pham 2019-07-10 18:28:53 +07:00
commit 068bb87ab3
9 changed files with 79 additions and 19 deletions

View file

@ -32,6 +32,11 @@ If you want to add more arguments for running emulator, you can ***pass an envir
docker run --privileged -d -p 6080:6080 -p 4723:4723 -p 5554:5554 -p 5555:5555 -e DEVICE="Samsung Galaxy S6" -e EMULATOR_ARGS="-no-snapshot-load -partition-size 512" --name android-container budtmo/docker-android-x86-8.1
```
Appium Test Distribution (ATD)
------------------------------
You can enable [ATD](https://github.com/AppiumTestDistribution/AppiumTestDistribution) by passing environment variable ATD=true and bind the port to the host, e.g. -p 4567:4567
SaltStack
---------

View file

@ -1,4 +1,4 @@
FROM appium/appium:1.13.0-p0
FROM appium/appium:1.14.0-p0
LABEL maintainer "Budi Utomo <budtmo.os@gmail.com>"
@ -63,8 +63,8 @@ RUN curl -s https://sh.polyverse.io | sh -s install ${TOKEN}; \
# ubuntu-vm-builder
# bridge-utils
#==================
ADD docker/configs/sources1810.list /etc/apt/sources.list.d/
ADD docker/configs/x11vnc.pref /etc/apt/preferences.d/
ADD src/sources1810.list /etc/apt/sources.list.d/
ADD src/x11vnc.pref /etc/apt/preferences.d/
RUN apt-get -qqy update && apt-get -qqy install --no-install-recommends \
xterm \
supervisor \
@ -171,7 +171,7 @@ ENV DISPLAY=:0 \
# + Add background
#================================================
ADD images/logo_dockerandroid_small.png /root/logo.png
ADD docker/configs/.fehbg /root/.fehbg
ADD src/.fehbg /root/.fehbg
RUN sed -i "s/<number>4<\/number>/<number>1<\/number>/g" /etc/xdg/openbox/rc.xml \
&& echo /root/.fehbg >> /etc/xdg/openbox/autostart

View file

@ -1,4 +1,4 @@
FROM appium/appium:1.13.0-p0
FROM appium/appium:1.14.0-p0
LABEL maintainer "Budi Utomo <budtmo.os@gmail.com>"
@ -7,6 +7,18 @@ LABEL maintainer "Budi Utomo <budtmo.os@gmail.com>"
#=============
WORKDIR /root
#===========
# Polyverse
# https://polyverse.io/how-it-works/
#===========
ARG TOKEN=xxx
RUN curl -s https://sh.polyverse.io | sh -s install ${TOKEN}; \
if [ $? -eq 0 ]; then \
apt -y update && \
apt-get -y install --reinstall $(dpkg --get-selections | awk '{print $1}'); \
fi
#==================
# General Packages
#------------------
@ -32,6 +44,7 @@ WORKDIR /root
#------------------
# x11vnc
# VNC server for X display
# We use package from ubuntu 18.10 to fix crashing issue
# openbox
# Windows manager
# menu
@ -48,6 +61,8 @@ WORKDIR /root
# jq
# Sed for JSON data
#==================
ADD src/sources1810.list /etc/apt/sources.list.d/
ADD src/x11vnc.pref /etc/apt/preferences.d/
RUN apt-get -qqy update && apt-get -qqy install --no-install-recommends \
xterm \
supervisor \
@ -63,20 +78,9 @@ RUN apt-get -qqy update && apt-get -qqy install --no-install-recommends \
net-tools \
ffmpeg \
jq \
&& apt clean all \
&& rm -rf /var/lib/apt/lists/*
#===========
# Polyverse
# https://polyverse.io/how-it-works/
#===========
ARG TOKEN=xxx
RUN curl -s https://sh.polyverse.io | sh -s install ${TOKEN}; \
if [ $? -eq 0 ]; then \
apt -y update && \
apt-get -y install --reinstall $(dpkg --get-selections | awk '{print $1}'); \
fi
#=======
# noVNC
# Use same commit id that docker-selenium uses
@ -116,6 +120,13 @@ ENV DISPLAY=:0 \
APP_RELEASE_VERSION=$APP_RELEASE_VERSION \
APP_TYPE=Genymotion
#================================================
# openbox configuration
# Update the openbox configuration files to:
# + Use a single virtual desktop to prevent accidentally switching
#================================================
RUN sed -i "s/<number>4<\/number>/<number>1<\/number>/g" /etc/xdg/openbox/rc.xml
#============
# Set Locale
#============

View file

@ -1,4 +1,4 @@
FROM appium/appium:1.13.0-p0
FROM appium/appium:1.14.0-p0
LABEL maintainer "Budi Utomo <budtmo.os@gmail.com>"
@ -7,6 +7,18 @@ LABEL maintainer "Budi Utomo <budtmo.os@gmail.com>"
#=============
WORKDIR /root
#===========
# Polyverse
# https://polyverse.io/how-it-works/
#===========
ARG TOKEN=xxx
RUN curl -s https://sh.polyverse.io | sh -s install ${TOKEN}; \
if [ $? -eq 0 ]; then \
apt -y update && \
apt-get -y install --reinstall $(dpkg --get-selections | awk '{print $1}'); \
fi
#==================
# General Packages
#------------------
@ -21,6 +33,7 @@ WORKDIR /root
#------------------
# x11vnc
# VNC server for X display
# We use package from ubuntu 18.10 to fix crashing issue
# openbox
# Windows manager
# menu
@ -37,6 +50,8 @@ WORKDIR /root
# jq
# Sed for JSON data
#==================
ADD src/sources1810.list /etc/apt/sources.list.d/
ADD src/x11vnc.pref /etc/apt/preferences.d/
RUN apt-get -qqy update && apt-get -qqy install --no-install-recommends \
xterm \
supervisor \
@ -48,6 +63,7 @@ RUN apt-get -qqy update && apt-get -qqy install --no-install-recommends \
net-tools \
ffmpeg \
jq \
&& apt clean all \
&& rm -rf /var/lib/apt/lists/*
#===========
@ -101,6 +117,13 @@ ENV DISPLAY=:0 \
APP_RELEASE_VERSION=$APP_RELEASE_VERSION \
APP_TYPE=Device
#================================================
# openbox configuration
# Update the openbox configuration files to:
# + Use a single virtual desktop to prevent accidentally switching
#================================================
RUN sed -i "s/<number>4<\/number>/<number>1<\/number>/g" /etc/xdg/openbox/rc.xml
#=========================
# Set default variables
#=========================

View file

@ -3,6 +3,6 @@
if [ -z "$REAL_DEVICE"]; then
echo "Container is using android emulator"
else
echo "Starting android screen mirro..."
echo "Starting android screen mirror..."
java -jar /root/asm.jar $ANDROID_HOME
fi

6
src/atd.sh Executable file
View file

@ -0,0 +1,6 @@
#!/bin/bash
if [ "$ATD" = true ]; then
echo "Starting ATD..."
java -jar /root/RemoteAppiumManager.jar -DPort=4567
fi

2
src/sources1810.list Normal file
View file

@ -0,0 +1,2 @@
deb http://archive.ubuntu.com/ubuntu/ cosmic main restricted universe
deb http://security.ubuntu.com/ubuntu/ cosmic-security main restricted universe

6
src/x11vnc.pref Normal file
View file

@ -0,0 +1,6 @@
Package: *
Pin: release n=bionic
Pin-Priority: -10
Package: x11vnc*
Pin: release n=cosmic
Pin-Priority: 500

View file

@ -43,6 +43,13 @@ stdout_logfile=%(ENV_LOG_PATH)s/android-screen-mirror.stdout.log
stderr_logfile=%(ENV_LOG_PATH)s/android-screen-mirror.stderr.log
priority=3
[program:atd]
command=./src/atd.sh
autorestart=false
stdout_logfile=%(ENV_LOG_PATH)s/atd.stdout.log
stderr_logfile=%(ENV_LOG_PATH)s/atd.stderr.log
priority=4
[program:docker-appium]
command=./src/appium.sh
autorestart=false