在Dockerfile中下载一个git仓库

时间:2019-06-24 12:13:27

标签: docker continuous-integration

每当我对GitHub存储库进行提交时,我都会使用docker.com自动构建。 (请参阅https://docs.docker.com/docker-hub/builds/

我想对docker映像中的所有文件调用luacheck,如果出现警告,则使其失败。

我故意添加了一个Lua错误,并将这些行添加到了Dockerfile中:

RUN useradd -d /gluon gluon
RUN cd /gluon
RUN git clone https://github.com/rubo77/gluon/ gluon
RUN cd gluon

USER gluon

VOLUME /gluon
WORKDIR /gluon

RUN git checkout docker 
RUN cp -a docs/site-example/ site
RUN luacheckrc .; if [ $? -gt 0 ]; then exit 1; fi

请参阅:https://github.com/rubo77/gluon/commits/docker

但是失败

/bin/sh: 1: cd: can't cd to /gluon

甚至在git存储库之前

1 个答案:

答案 0 :(得分:1)

您必须首先为gluon用户创建目录,并使用以下命令授予其写权限:

FROM ubuntu
RUN useradd -d /gluon gluon
RUN apt-get update && apt-get install -y git
RUN mkdir /gluon
RUN chown -R gluon:gluon /gluon
USER gluon
RUN cd /gluon
RUN git clone https://github.com/rubo77/gluon/ gluon
RUN cd gluon

VOLUME /gluon
WORKDIR /gluon
RUN git checkout docker
RUN cp -a docs/site-example/ site
RUN luacheck .; if [ $? -gt 0 ]; then exit 1; fi