docker深入2-UI之portainer的二次开发之使用yarn管理前端环境

docker深入2-UI之portainer的二次开发之使用yarn管理前端环境

2018/10/19

问题点

  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),前端页面会自动更新,此时刷新浏览器即可

提醒

别忘了要 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

转载于:https://blog.51cto.com/nosmoking/2301615

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值