使用caddy 進行nodejs web應用近實時編譯更新

caddy 相比nginx 是一個不錯的輕量代理服務器,支持的功能也是比較多的, 同時插件也挺多
demo 測試的是經過git 插件進行一個使用spec-md 編寫的文檔近實時編譯以及預覽node

項目使用docker 構建,我已經在dockerhub 放了構建好的鏡像ios

基本項目

  • website

    nodejs 項目,是須要進行近實時編譯,發佈的文檔nginx

https://github.com/rongfengliang/spec-md-demo.git
項目的運行構建運行比較簡單 yarn build 便可
  • caddy 服務配置

    集成git插件git

├── Caddyfile
├── Dockerfile
└── docker-compose.yaml
  • 代碼說明
Caddyfile:
配置caddy git 插件,每一個10s進行一次git pull 同時又變更,進行代碼構建,使用then 指令
0.0.0.0
root src
git https://github.com/rongfengliang/spec-md-demo.git {
interval 10
then yarn build
}
Dockerfile: 
node 基礎環境以及caddyfile 的添加
FROM abiosoft/caddy
RUN apk add nodejs
RUN apk add npm
RUN npm install -g yarn
WORKDIR /src
ADD Caddyfile /etc/Caddyfile
docker-compose.yaml:
docker-compose 運行配置
version: "3"
services:
  website:
    build: ./
    image: dalongrong/caddy-node-build
    ports:
    - "8090:2015"

構建&&運行

  • 構建
docker-compose build
  • 運行
docker-compose up -d

效果

經過日誌能夠看出來
10s pull 沒有改變的


咱們修改github 項目(website)
es6

用途

好比咱們使用nodejs es6 等高級特性編寫代碼,可是須要使用babel 或者相似的工具進行編譯,可是又想實時查看效果,使用就是不錯的,
同時集成容器技術,能夠減小好多開發上的開銷

參考資料

https://github.com/rongfengliang/spec-md-demo
https://caddyserver.com/docs/http.git
https://github.com/abiosoft/caddy-docker
https://github.com/rongfengliang/caddy-git-nodejsgithub

相關文章
相關標籤/搜索