Example Dockerfile

Below is a example linux Docker container that installs a private runtime

Before you begin:

FROM ubuntu:24.04
# To build, install the ActiveState StateTool locally and authenticate.
#    sh <(curl -q https://platform.activestate.com/dl/cli/_pdli02/install.sh)
#    state auth
# Create an api key to use for authentication inside the container.
# This key can be saved and reused - it currently does not expire.
#    ACTIVESTATE_API_KEY=$(state export new-api-key <orgname/projectname>)
# Pass the apikey as a build-arg to docker:
#    docker build -t wheelbuilder --build-arg="APIKEY=$ACTIVESTATE_API_KEY" .
# This container can be optionally run with authentication by passing the
# key in at runtime. This is not required to use the installed runtime.
#    docker run -it -e API_KEY=$ACTIVESTATE_API_KEY wheelbuilder
# And using auth from inside the container.
#    state auth --token $API_KEY
# Update apt, and install wget.
RUN apt -y update && apt -y upgrade && apt -y install wget
# Install StateTool
ADD https://platform.activestate.com/dl/cli/install.sh /install.sh
RUN sh /install.sh -n -t /opt
# Checkout Project to /opt - Logout when completed.
RUN /opt/bin/state auth --token ${APIKEY} && \
    /opt/bin/state checkout <orgname/projectname> --runtime-path /opt/<orgname/projectname> && \
    /opt/bin/state use <orgname/projectname> && \
    /opt/bin/state auth logout
CMD ["bash"]

For more resources related to continuous integration see