From a1c6c9286a839127ec7456f6e336d862e643311b Mon Sep 17 00:00:00 2001 From: Chris Rebert Date: Mon, 2 Nov 2015 00:02:07 -0800 Subject: finish unDockerized draft --- Dockerfile | 43 ------------------------------------------- gruntworker.crontab | 2 +- setup_droplet.sh | 33 +++++++++++++++++++++++++++++---- 3 files changed, 30 insertions(+), 48 deletions(-) delete mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index e35c02e..0000000 --- a/Dockerfile +++ /dev/null @@ -1,43 +0,0 @@ -# Written against Docker v1.3.1 -FROM node:0.12 -MAINTAINER Chris Rebert - -WORKDIR / - -ENV DEBIAN_FRONTEND noninteractive -RUN ["apt-get", "update"] -RUN ["apt-get", "-y", "install", "apt-utils"] -RUN ["apt-get", "-y", "--no-install-recommends", "install", "build-essential", "openssh-client", "git", "python3", "python3-dev"] -# Grunt -RUN ["npm", "install", "-g", "grunt-cli"] - -RUN ["useradd", "gruntworker"] - -RUN ["mkdir", "-p", "/opt/gruntworker"] -ADD gruntworker.py /opt/gruntworker/gruntworker.py -ADD gruntworker.sh /opt/gruntworker/gruntworker.sh -RUN ["mkdir", "/opt/gruntworker/git-repo"] - -# Setup SSH keys -ADD ssh/id_rsa.pub /home/gruntworker/.ssh/id_rsa.pub -ADD ssh/id_rsa /home/gruntworker/.ssh/id_rsa -RUN ssh-keyscan -t rsa github.com > /home/gruntworker/.ssh/known_hosts - -# Fix permissions -RUN ["chown", "-R", "gruntworker:gruntworker", "/opt/gruntworker/git-repo"] -RUN ["chown", "-R", "gruntworker:gruntworker", "/home/gruntworker"] -# chmod must happen AFTER chown, due to https://github.com/docker/docker/issues/6047 -RUN ["chmod", "-R", "go-rwx", "/home/gruntworker/.ssh"] - -VOLUME /opt/gruntworker/git-repo -USER gruntworker -WORKDIR /opt/gruntworker/git-repo - -RUN ["git", "remote", "set-url", "origin", "https://github.com/twbs/bootstrap.git"] -RUN ["git", "remote", "set-url", "--push", "origin", "git@github.com:twbs/bootstrap.git"] -RUN ["git", "config", "core.fileMode", "false"] -RUN ["git", "config", "user.name", "Bootstrap's Grunt bot"] -RUN ["git", "config", "user.email", "twbs-grunt@users.noreply.github.com"] -RUN ["npm", "install"] - -ENTRYPOINT ["/opt/gruntworker/gruntworker.sh"] diff --git a/gruntworker.crontab b/gruntworker.crontab index 8fb1b56..76de795 100644 --- a/gruntworker.crontab +++ b/gruntworker.crontab @@ -1 +1 @@ -*/10 * * * * root docker run --rm=true gruntworker 2>&1 >> /var/log/gruntworker.log +*/10 * * * * gruntworker /usr/local/bin/gruntworker.sh 2>&1 >> /var/log/gruntworker.log diff --git a/setup_droplet.sh b/setup_droplet.sh index 0f961bf..ac0e469 100755 --- a/setup_droplet.sh +++ b/setup_droplet.sh @@ -1,7 +1,4 @@ #!/bin/bash -# Step 0.0: Put SSH keys in ./ssh -# Step 0.1: Checkout git repo to /opt/gruntworker/git-repo - set -e -x # set to Pacific Time (for @cvrebert) @@ -30,5 +27,33 @@ aptitude install nodejs aptitude install nodejs-legacy # out of compatibility paranoia, though I philosophically agree with Debian here # setup gruntworker itself -cp ./gruntworker.crontab /etc/cron.d/gruntworker +apt-get -y --no-install-recommends install openssh-client git python3 python3-dev # other dependencies +npm install -g grunt-cli # dependency +git clone git@github.com:twbs/gruntworker.git ~/gruntworker +mkdir -p /usr/local/bin +cp ~/gruntworker/gruntworker.sh /usr/local/bin/ +cp ~/gruntworker/gruntworker.py /usr/local/bin/ +chmod u=rwx,go=rx /usr/local/bin/gruntworker.* +useradd gruntworker + +# setup SSH keys +su gruntworker # USER: gruntworker +mkdir ~/.ssh +ssh-keyscan -t rsa github.com > ~gruntworker/.ssh/known_hosts +# MANUAL STEP: Put SSH keys in /home/gruntworker/.ssh +chmod -R go-rwx ~/.ssh +# setup git & repo +git clone git@github.com:twbs/bootstrap.git ~/git-repo +cd ~/git-repo +git remote set-url origin https://github.com/twbs/bootstrap.git +git remote set-url --push origin git@github.com:twbs/bootstrap.git +git config core.fileMode false +git config user.name "Bootstrap's Grunt bot" +git config user.email 'twbs-grunt@users.noreply.github.com' +# setup Bootstrap +npm install + +# setup cron +exit # USER: root +cp ~/gruntworker/gruntworker.crontab /etc/cron.d/gruntworker restart cron # until upstart goes away -- cgit v1.2.3