feat: debian install, docker tests
This commit is contained in:
28
Dockerfile
28
Dockerfile
@@ -1,30 +1,34 @@
|
||||
#
|
||||
# debian-base: Base Debian image with sudo user
|
||||
#
|
||||
FROM debian:bullseye AS debian-base
|
||||
FROM debian:trixie-slim AS base
|
||||
|
||||
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
RUN apt-get -qq update
|
||||
RUN apt-get -qq install --no-install-recommends \
|
||||
curl \
|
||||
gnupg \
|
||||
gnupg2 \
|
||||
openssh-client \
|
||||
software-properties-common \
|
||||
wget \
|
||||
sudo
|
||||
lsb-release \
|
||||
sudo \
|
||||
wget
|
||||
|
||||
# Create user with sudo priviledge
|
||||
RUN useradd -r -u 1001 --create-home -m "test-user"
|
||||
RUN adduser "test-user" sudo
|
||||
RUN echo "test-user ALL=(ALL) NOPASSWD: ALL" \
|
||||
>>/etc/sudoers
|
||||
|
||||
#
|
||||
# source: Base image with source copied over
|
||||
#
|
||||
FROM debian-base AS source
|
||||
FROM base AS source
|
||||
|
||||
ARG DOTFILES_DIR="/home/test-user/.dotfiles"
|
||||
RUN mkdir ${DOTFILES_DIR}
|
||||
RUN chown test-user ${DOTFILES_DIR}
|
||||
ARG DOTFILES_DIR="/workdir/.dotfiles"
|
||||
RUN mkdir -p "$DOTFILES_DIR"
|
||||
RUN chown -R "test-user" "$DOTFILES_DIR"
|
||||
|
||||
ADD --chown="test-user" files "$DOTFILES_DIR/files"
|
||||
ADD --chown="test-user" script "$DOTFILES_DIR/script"
|
||||
@@ -36,8 +40,12 @@ WORKDIR "$DOTFILES_DIR"
|
||||
#
|
||||
FROM source AS install
|
||||
|
||||
ENV USER="test-user"
|
||||
ENV SKIP_SUDO_CHECK "true"
|
||||
ENV SKIP_SSH_CONFIG "true"
|
||||
ENV SKIP_DOCKER_CONFIG "true"
|
||||
|
||||
USER test-user
|
||||
ENV USER=test-user
|
||||
ARG UUID="docker"
|
||||
RUN ./script/install
|
||||
|
||||
@@ -48,5 +56,5 @@ RUN ./script/install
|
||||
FROM install AS test
|
||||
|
||||
ADD --chown="test-user" tests "$DOTFILES_DIR/tests"
|
||||
WORKDIR "${DOTFILES_DIR}/tests"
|
||||
WORKDIR "$DOTFILES_DIR/tests"
|
||||
ENTRYPOINT [ "./run.sh" ]
|
||||
|
||||
Reference in New Issue
Block a user