docker深入2-UI之portainer的二次開發之使用yarn管理前端環境

docker深入2-UI之portainer的二次開發之使用yarn管理前端環境

2018/10/18

問題點

  1. 前端
  2. 後端

前端

當前(2018-10)給前端貢獻代碼時,環境變成了yarn來控制依賴,如何操作?

需求

Docker
Node.js >= 6
yarn

構建
克隆代碼:

$ git clone https://github.com/portainer/portainer.git
$ cd portainer

yarn解決依賴:
$ yarn

yarn構建:

$ yarn build

yarn啓動:

$ yarn dev

訪問: http://localhost:9000

提示

當有代碼文件變更發生時 (app/*/.js, assets/css/app.css or index.html),前端頁面會自動更新,此時刷新瀏覽器即可

Important

別忘了要 lint 代碼:

$ yarn grunt lint

後端

默認是通過一個 golang 鏡像來構建後端代碼,如果有網絡問題,將導致構建失敗,最終影響前端允許,怎麼處理?

假設不能解決網絡問題,則去 releases 下載對應版本的 binary 存放到 Portainer 代碼根目錄的 dist/ 目錄下,然後註釋以下內容來跳過構建操作:

  • build/build_in_container.sh

    (略)
    #docker run --rm -tv "$(pwd)/api:/src" -e BUILD_GOOS="$1" -e BUILD_GOARCH="$2" portainer/golang-builder:cross-platform /src/cmd/portainer
    
    #mv "api/cmd/portainer/$binary" dist/
    (略)
  • build/download_docker_binary.sh
    #!/usr/bin/env bash
    exit 0
    (略)

然後再去執行前端操作即可。

不足
portainer 理應提供 golang 代碼的依賴解決方案(dep, go.mod等)來保證構建環境的一致性(我嘗試補充,但不清楚依賴的版本,未能解決)。

ZYXW、參考

1、doc
https://portainer.readthedocs.io/en/stable/contribute.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章