首页 > 解决方案 > 在 Dockerfile 中下载一个 git 存储库

问题描述

每当我将提交提交到我的 GitHub 存储库时,我都会使用 docker.com 自动构建。(见https://docs.docker.com/docker-hub/builds/

我想调用luacheckdocker 镜像中的所有文件,如果有警告就让它失败。

我故意添加了一个 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 存储库之前

标签: dockercontinuous-integration

解决方案


您必须首先为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

推荐阅读