aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.travis/docker/server
diff options
context:
space:
mode:
Diffstat (limited to '.travis/docker/server')
-rw-r--r--.travis/docker/server/Dockerfile22
-rwxr-xr-x.travis/docker/server/setup_repo.sh24
2 files changed, 46 insertions, 0 deletions
diff --git a/.travis/docker/server/Dockerfile b/.travis/docker/server/Dockerfile
new file mode 100644
index 0000000..035d871
--- /dev/null
+++ b/.travis/docker/server/Dockerfile
@@ -0,0 +1,22 @@
+FROM alpine:3.11
+
+RUN apk --no-cache add bash git openssh-server && \
+ echo 'root:root' | chpasswd && \
+ git config --global user.name 'Travis CI User' && \
+ git config --global user.email 'travis@example.org' && \
+ sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config
+
+WORKDIR /root
+
+COPY ["ssh/server_key", "/etc/ssh/ssh_host_rsa_key"]
+COPY ["ssh/server_key.pub", "/etc/ssh/ssh_host_rsa_key.pub"]
+COPY ["ssh/client_key.pub", "./.ssh/authorized_keys"]
+
+RUN chmod 0600 -- /etc/ssh/ssh_host_rsa_key && \
+ chmod 0700 -- ./.ssh/ && \
+ chmod 0600 -- ./.ssh/authorized_keys
+
+COPY ["server/setup_repo.sh", "./"]
+RUN ./setup_repo.sh
+
+CMD ["/usr/sbin/sshd", "-D"]
diff --git a/.travis/docker/server/setup_repo.sh b/.travis/docker/server/setup_repo.sh
new file mode 100755
index 0000000..3d5b899
--- /dev/null
+++ b/.travis/docker/server/setup_repo.sh
@@ -0,0 +1,24 @@
+#!/usr/bin/env bash
+
+set -o errexit -o nounset -o pipefail
+
+readonly local_repo_path="$HOME/test_repo"
+
+setup_local_repo() {
+ mkdir -p -- "$local_repo_path"
+ pushd -- "$local_repo_path" > /dev/null
+ git init
+ echo '1' > 1.txt
+ git add .
+ git commit -m 'first commit'
+ echo '2' > 2.txt
+ git add .
+ git commit -m 'second commit'
+ popd > /dev/null
+}
+
+main() {
+ setup_local_repo
+}
+
+main