feat: refactor Dockerfile
This commit is contained in:
+16
-26
@@ -1,29 +1,19 @@
|
|||||||
FROM python:3
|
FROM python:3.9-slim-bullseye
|
||||||
|
|
||||||
LABEL maintainer="Joakim Olsson <joakim@unbound.se>"
|
ARG TARGETOS
|
||||||
LABEL description="Base image for running Robot Framework test suites in Docker. \
|
ARG TARGETARCH
|
||||||
\
|
ARG GECKODRIVER_VERSION=0.32.0
|
||||||
The image cotains the following Robot Framework libraries:\
|
|
||||||
- Appium library - Keywords for Android & IOS device UI tests \
|
|
||||||
- Database library - Keywords for SQL queries & statements \
|
|
||||||
- HTTP library - Keywords for HTTP & Rest \
|
|
||||||
- RabbitMQ library - Keywords for Rabbit MQ \
|
|
||||||
- Selenium2 library - Keywords for cross browser tests\
|
|
||||||
\
|
|
||||||
Drivers:\
|
|
||||||
- psycopg2 - Python driver for Postgres \
|
|
||||||
- PyMySQL - Python driver for MySQL"
|
|
||||||
|
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get -y install jq firefox-esr && \
|
apt-get -y install jq firefox-esr curl git && \
|
||||||
rm -r /var/lib/apt/lists/* && \
|
rm -r /var/lib/apt/lists/*
|
||||||
pip install \
|
|
||||||
urllib3 \
|
COPY requirements.txt .
|
||||||
psycopg2-binary \
|
RUN pip install --no-cache-dir -r requirements.txt && \
|
||||||
PyMySQL \
|
rm requirements.txt
|
||||||
robotframework==6.0.1 \
|
|
||||||
robotframework-appiumlibrary \
|
COPY geckodriver.sh .
|
||||||
robotframework-databaselibrary \
|
RUN ./geckodriver.sh $GECKODRIVER_VERSION $TARGETOS $TARGETARCH && \
|
||||||
robotframework-httplibrary \
|
rm geckodriver.sh
|
||||||
-e "git+https://github.com/JakUi/robotframework-rabbitmq-fork#egg=robotframework-rabbitmq-ao" \
|
|
||||||
robotframework-selenium2library
|
# echo "192.168.65.2 app-acctest auth0 api-acctest" >> /etc/hosts
|
||||||
|
|||||||
Executable
+24
@@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -o errexit -o pipefail -o noclobber -o nounset
|
||||||
|
|
||||||
|
VERSION=${1:-"0.32.0"}
|
||||||
|
OS=${2:-linux}
|
||||||
|
ARCH=${3:-}
|
||||||
|
OS_ARCH=""
|
||||||
|
|
||||||
|
if [ "${ARCH}" == "amd64" ]; then
|
||||||
|
OS_ARCH="${OS}64"
|
||||||
|
elif [ "${ARCH}" == "arm64" ]; then
|
||||||
|
OS_ARCH="${OS}-aarch64"
|
||||||
|
fi
|
||||||
|
|
||||||
|
GH_URL="https://github.com/mozilla/geckodriver/releases/download/"
|
||||||
|
TMP_FILE="geckodriver.tar.gz"
|
||||||
|
curl -L -s \
|
||||||
|
-o ${TMP_FILE} \
|
||||||
|
"${GH_URL}v${VERSION}/geckodriver-v${VERSION}-${OS_ARCH}.tar.gz"
|
||||||
|
|
||||||
|
tar -xzf ${TMP_FILE}
|
||||||
|
mv geckodriver /usr/bin
|
||||||
|
rm ${TMP_FILE}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
robotframework==6.0.1
|
||||||
|
robotframework-seleniumlibrary==6.0.0
|
||||||
|
urllib3==1.26.13
|
||||||
|
psycopg2-binary==2.9.5
|
||||||
|
PyMySQL==1.0.2
|
||||||
|
robotframework-appiumlibrary==2.0.0
|
||||||
|
robotframework-databaselibrary==1.2.4
|
||||||
|
robotframework-httplibrary==0.4.2
|
||||||
|
git+https://github.com/JakUi/robotframework-rabbitmq-fork#egg=robotframework-rabbitmq-ao
|
||||||
Reference in New Issue
Block a user