从git push触发Docker更新

时间:2019-02-12 13:53:53

标签: git docker gatsby

我最近开始在简单的环境中使用Docker

我已经使用静态网站生成器gatsbyJS创建了一个简单的博客。

我已经用docker容器化了我的应用程序:

//Dockerfile

FROM node:11.9.0

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install  
RUN npm install -g gatsby-cli


COPY . . 

EXPOSE 8000

CMD ["gatsby", "develop", "-H", "0.0.0.0"]

一切都已推送并部署到我的服务器上,并且可以正常工作。

每篇博文都是gatsbyjs读取的markdown文件。

我的理解是,当我所有的应用程序都准备就绪(javascript,css等)时,我唯一要更新的就是我添加新帖子时我的帖子(markdown文件)所在的存储库。

我认为要采用的工作流程如下:

  1. 我写了一个新的markdown文件
  2. 将其推送到github
  3. 触发新图像和容器的创建(对吗?)

enter image description here

我是否仅需要为添加的新博客帖子重新创建新图像和容器?

当推送更改时,如何在服务器中触发这些动作?我应该使用哪些工具?

1 个答案:

答案 0 :(得分:1)

要触发推送事件,可以使用钩子。
https://githooks.com/

如果您不想每次添加博客文章时都构建新图像,则可以将 markdowns 路径映射到主机。这样,您只需将新的markdown文件放入主机上的映射卷中,容器即可使用它。
https://docs.docker.com/storage/volumes/

示例:
在运行订单中添加以下选项。
docker run ... -v / docker / data /...:/ data

希望这会有所帮助。