Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Docker形象中发展';它受版本控制_R_Github_Docker_Jekyll - Fatal编程技术网

在Docker形象中发展';它受版本控制

在Docker形象中发展';它受版本控制,r,github,docker,jekyll,R,Github,Docker,Jekyll,目前,我有一个管道,用于在R中构建报告,并在Jekyll中发布报告。我在github中对文件进行版本控制,到目前为止效果很好 最近,我开始考虑如何利用R、Ruby和Jekyll构建一个docker镜像,让我的任何同事都可以下载并运行同一份报告,而无需在他们的计算机上设置所有包和gem。我查看了Docker Hub,发现git提交的自动构建是一个非常有趣的特性 我想建立一个映像,我可以使用它来运行此配置,并将其保持在版本控制下,并在Docker Hub中保持最新。像这样的东西是怎么工作的 如果我只

目前,我有一个管道,用于在
R
中构建报告,并在
Jekyll
中发布报告。我在github中对文件进行版本控制,到目前为止效果很好

最近,我开始考虑如何利用
R
Ruby
Jekyll
构建一个docker镜像,让我的任何同事都可以下载并运行同一份报告,而无需在他们的计算机上设置所有包和gem。我查看了Docker Hub,发现git提交的自动构建是一个非常有趣的特性

我想建立一个映像,我可以使用它来运行此配置,并将其保持在版本控制下,并在Docker Hub中保持最新。像这样的东西是怎么工作的

如果我只保留当前设置,我可以向我的repo添加dockerfile,Docker Hub将为我构建映像,我只是认为在同一映像上运行我的工作会很有趣


关于这样的管道如何工作有什么想法吗?

Docker Hub构建服务应该可以工作()。您也可以考虑使用GITLAB CI或特拉维斯CI(GITLAB将对女贞项目有用,它还提供女贞坞注册表)。 您应该有两个DockerFile,一个是所有依赖项的DockerFile,另一个是用于报告的非常简单的DockerFile(构建速度会快得多)。比如:

FROM base_image:0.1
COPY . /reports
WORKDIR /reports
RUN replace-with-requiered-jekyll-magic
上面的Dockerfile应该在您的报告存储库中


在第二个存储库中,您可以使用所有工具和nginx或用于服务静态文件的东西包装基本映像。确保nginx www root设置为/reports。如果您需要更新工具,只需更新Dockerfile中报告的基本图像标记。

您不会创建一个包含所有组件的图像,而是每个repo(R应用程序、Jekyll站点、Ruby应用程序)创建一个图像。您只需在每个github repo中添加一个Dockerfile。您可以使用客户端的docker-compose.yml文件将它们放在一起。Docker for mac或windows非常适合您的用例。