Node: Add node image
This commit adds support for node.js into our docker infra. It uses
alpine, and is based of
https://hub.docker.com/_/node.
Signed-off-by: Benjamin Copeland <ben.copeland@linaro.org>
Change-Id: Ie2322c27fd259b021b14a3363c1fa2657ef98701
diff --git a/alpine10-node-tf-a/Dockerfile b/alpine10-node-tf-a/Dockerfile
new file mode 100644
index 0000000..693a100
--- /dev/null
+++ b/alpine10-node-tf-a/Dockerfile
@@ -0,0 +1,16 @@
+FROM node:10-alpine
+
+COPY setup-sshd /usr/sbin/setup-sshd
+
+RUN set -e ;\
+ # install deps ;\
+ apk add openssh bash sudo ;\
+ # Setup buildslave user for Jenkins ;\
+ adduser buildslave -D -s /bin/bash ;\
+ echo 'buildslave ALL = NOPASSWD: ALL' > /etc/sudoers.d/jenkins ;\
+ chmod 0440 /etc/sudoers.d/jenkins ;\
+
+USER buildslave
+
+EXPOSE 22
+ENTRYPOINT ["/usr/sbin/setup-sshd"]
diff --git a/alpine10-node-tf-a/build.sh b/alpine10-node-tf-a/build.sh
new file mode 100755
index 0000000..72a86c7
--- /dev/null
+++ b/alpine10-node-tf-a/build.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+set -e
+
+trap cleanup_exit INT TERM EXIT
+
+cleanup_exit()
+{
+ rm -f *.list *.key
+}
+
+export LANG=C
+
+DISTRIBUTION=$(basename ${PWD} | cut -f1 -d '-')
+ARCHITECTURE=$(basename ${PWD} | cut -f2 -d '-')
+PROJECT=$(basename ${PWD} | cut -f3 -d '-')-$(basename ${PWD} | cut -f4 -d '-')
+
+cp -a ../setup-sshd .
+image=trustedfirmware/ci-${ARCHITECTURE}-${PROJECT}-alpine:${DISTRIBUTION}
+docker build --pull --tag=$image .
+echo $image > .docker-tag
diff --git a/alpine10-node-tf-a/setup-sshd b/alpine10-node-tf-a/setup-sshd
new file mode 100755
index 0000000..b0a5ed5
--- /dev/null
+++ b/alpine10-node-tf-a/setup-sshd
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+export HOME=/home/buildslave
+
+[ -z "${JENKINS_SLAVE_SSH_PUBKEY}" ] || {
+ mkdir ${HOME}/.ssh
+ echo "${JENKINS_SLAVE_SSH_PUBKEY}" > ${HOME}/.ssh/authorized_keys
+ chown -R buildslave:buildslave ${HOME}/.ssh
+ chmod 0700 -R ${HOME}/.ssh
+}
+
+exec /usr/sbin/sshd -D