From 7c5387d58cd3ba9bb6f7a011bfa5a546ea9eb186 Mon Sep 17 00:00:00 2001 From: soulmachine Date: Mon, 1 Aug 2016 13:12:45 -0700 Subject: [PATCH 1/4] Dockerize shellcheck --- docker/Dockerfile | 18 ++++++++++++++++++ docker/README.md | 5 +++++ 2 files changed, 23 insertions(+) create mode 100644 docker/Dockerfile create mode 100644 docker/README.md diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..9dbbaeb --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,18 @@ +FROM ubuntu:16.04 +MAINTAINER koalaman + +RUN apt-get update -qqy + +RUN apt-get -qqy install haskell-platform + +RUN cabal update +RUN cabal install shellcheck + +# Clean apt cache +RUN apt-get clean && \ + apt-get autoremove && \ + rm -rf /var/lib/apt/lists/* \ + rm -rf /var/cache/*.tar.gz \ + rm -rf /var/cache/*/*.tar.gz + +ENTRYPOINT ["/root/.cabal/bin/shellcheck"] diff --git a/docker/README.md b/docker/README.md new file mode 100644 index 0000000..574d4ac --- /dev/null +++ b/docker/README.md @@ -0,0 +1,5 @@ +This docker image wraps [shellcheck](https://github.com/koalaman/shellcheck) as a single executable. + +How to use it? For example, you have a shell script named `sample.sh` under the current directory, you can lint it by running: + + docker run -v $(pwd):/tmp/work shellcheck /tmp/work/sample.sh From eb38af70833e30b6654c4b5e28f13119351a1110 Mon Sep 17 00:00:00 2001 From: soulmachine Date: Mon, 1 Aug 2016 13:14:51 -0700 Subject: [PATCH 2/4] Polished the document --- docker/README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/docker/README.md b/docker/README.md index 574d4ac..ca4e368 100644 --- a/docker/README.md +++ b/docker/README.md @@ -1,5 +1,12 @@ This docker image wraps [shellcheck](https://github.com/koalaman/shellcheck) as a single executable. -How to use it? For example, you have a shell script named `sample.sh` under the current directory, you can lint it by running: +## Build the image + + cd shellcheck/docker + docker build -t shellcheck . + +## How to use it + +For example, you have a shell script named `sample.sh` under the current directory, you can lint it by running: docker run -v $(pwd):/tmp/work shellcheck /tmp/work/sample.sh From 5f67d580ffdbfdcbd6719df7ad77dd3fda760a45 Mon Sep 17 00:00:00 2001 From: soulmachine Date: Sat, 6 Aug 2016 12:03:43 -0700 Subject: [PATCH 3/4] Install from source code --- docker/Dockerfile | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 9dbbaeb..c16a9fd 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,12 +1,14 @@ FROM ubuntu:16.04 MAINTAINER koalaman -RUN apt-get update -qqy +RUN apt-get update -qy -RUN apt-get -qqy install haskell-platform +RUN apt-get -qy install git cabal-install + +RUN cd $HOME && git clone https://github.com/koalaman/shellcheck.git +RUN cd $HOME/shellcheck && cabal update +RUN cd $HOME/shellcheck && cabal install -RUN cabal update -RUN cabal install shellcheck # Clean apt cache RUN apt-get clean && \ From 5dbb6d309ddae149b9c6510178621b56528ce00e Mon Sep 17 00:00:00 2001 From: soulmachine Date: Sat, 6 Aug 2016 18:06:09 -0700 Subject: [PATCH 4/4] Refactored --- docker/Dockerfile | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index c16a9fd..804659a 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,20 +1,16 @@ FROM ubuntu:16.04 MAINTAINER koalaman -RUN apt-get update -qy - -RUN apt-get -qy install git cabal-install - -RUN cd $HOME && git clone https://github.com/koalaman/shellcheck.git -RUN cd $HOME/shellcheck && cabal update -RUN cd $HOME/shellcheck && cabal install - - -# Clean apt cache -RUN apt-get clean && \ +RUN apt-get update -y && \ + apt-get -y --no-install-recommends install git cabal-install && \ + apt-get clean && \ apt-get autoremove && \ - rm -rf /var/lib/apt/lists/* \ - rm -rf /var/cache/*.tar.gz \ - rm -rf /var/cache/*/*.tar.gz + rm -rf /var/lib/apt/lists/* + +RUN git config --global http.sslVerify false +WORKDIR /root +RUN git clone https://github.com/koalaman/shellcheck.git +WORKDIR /root/shellcheck +RUN cabal update && cabal install ENTRYPOINT ["/root/.cabal/bin/shellcheck"]