V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
yaakua
V2EX  ›  奇思妙想

打算做一个基于 docker 自动打包、发布的平台,各位看看有什么建议?

  •  1
     
  •   yaakua · 2016-05-16 17:39:32 +08:00 · 6757 次点击
    这是一个创建于 3105 天前的主题,其中的信息可能已经有所发展或是发生改变。
    初步设想的功能如下:
    1.用户在平台创建一个项目,这个项目可以关联指定的 git 仓库地址(有可能需要提供账号、密码)。项目创建好后,可以设置一个代码提交规则,比如备注里面加入一个关键字,然后识别到这个关键字后自动触发后续的打包、编译、部署流程(对代码有一定的要求,比如 Java 工程的话,必须使用 maven )
    2. 用户可以将自己的云服务器、虚拟机、物理机(需要有外网 IP )对接进来(可以提供一键脚本自动安装 docker 环境并与平台进行连通)
    3. 平台根据用户设定的规则自动执行打包、编译、制作成 docker 镜像并在用户的云服务器上运行起来(可以设置通知用户部署成功)。

    基本的功能就是上面的场景,主要解决的还是自动打包、发布的过程。采用的技术基于 docker\k8s 。用户无需自己掌握这些技术内容,只需按照约定配置好即可。

    目前在技术上已经做了前期的论证,关键的技术点已经搞定(自动执行拉取代码、编译、制作 Docker 镜像、 push 到仓库)。

    想问问这样的平台做出来有人愿意用吗?如果进行收费是否愿意?另外再收集一下大家的建议,谢谢!
    第 1 条附言  ·  2016-05-17 10:22:56 +08:00
    看了一下各位的留言,基本的结论就是现在网上已经有很多现成的了,不需要自己搭建一个平台。
    我觉得有另外一个思路来做,就是开发一套开源的,共用的。然后为企业提供各种定制服务。这样的话应该还是有一定市场的,对比现在的 daocloud 等公司提供的产品,可以做一些差异化区别。
    33 条回复    2016-05-18 18:39:19 +08:00
    kikyous
        1
    kikyous  
       2016-05-16 18:03:06 +08:00
    daocloud 欢迎你
    welsmann
        2
    welsmann  
       2016-05-16 18:06:22 +08:00
    开源项目好说,公司商业项目就难说了
    icybee
        3
    icybee  
       2016-05-16 18:11:08 +08:00
    docker 可谓保留了 diy 的乐趣和 paas 的稳定
    dphdjy
        4
    dphdjy  
       2016-05-16 18:18:57 +08:00 via Android
    有了
    buptrobin
        5
    buptrobin  
       2016-05-16 18:25:01 +08:00
    我想说,我们公司就是这样的,从一开始就这样的。
    代码 checkin 到 git , jenkins 接管, mvn 会自动生成对应的 docker image 。
    需要发布一个项目,就在 jenkins 里面执行一下,然后 docker 就在指定的机器部署了。
    后面用到了 puppet 。

    我不知道做成公共服务好不好用,但主要是权限方面比较麻烦一些。
    slixurd
        6
    slixurd  
       2016-05-16 18:32:02 +08:00
    我也想说,不少公司都已经实现了这个功能了
    毕竟这个场景还是比较适合 Docker 的....
    jamiefang
        7
    jamiefang  
       2016-05-16 18:35:14 +08:00
    http://daocloud.io

    DaoCloud 应该基本可以满足需求。

    最近刚把首页的网站改版了一下。大家有什么不清楚,看不明白的地方也可以 @ 我。
    有什么建议也尽管提。
    Tankpt
        8
    Tankpt  
       2016-05-16 18:40:05 +08:00
    有。。 build 前端代码的么
    jamiefang
        9
    jamiefang  
       2016-05-16 18:57:22 +08:00
    xidianpanpei
        10
    xidianpanpei  
       2016-05-16 19:07:03 +08:00
    @Tankpt A 厂木有类似的工具?
    Tankpt
        11
    Tankpt  
       2016-05-16 20:24:40 +08:00
    @jamiefang 我先研究下。。
    Tankpt
        12
    Tankpt  
       2016-05-16 20:24:46 +08:00
    @xidianpanpei 不知道。。。
    dphdjy
        13
    dphdjy  
       2016-05-16 20:32:49 +08:00 via Android
    xidianpanpei
        14
    xidianpanpei  
       2016-05-16 20:45:00 +08:00
    @Tankpt 那你可以做一个了
    julyclyde
        15
    julyclyde  
       2016-05-16 22:02:56 +08:00
    基本上每家稍微有点儿规模的互联网企业都在做自己的这一套
    UnisandK
        16
    UnisandK  
       2016-05-16 22:53:50 +08:00
    http://quay.io/
    基本全有了,构建成功之后可以用回调自动部署,还支持漏洞检测
    tinyproxy
        17
    tinyproxy  
       2016-05-17 02:26:15 +08:00 via iPhone
    用各种传统的 CI 工具不好么(°_°)…
    binux
        18
    binux  
       2016-05-17 05:09:40 +08:00
    @tinyproxy +1

    这不就是 CI 构建,测试,打 tag ,然后自动部署吗。。
    lightening
        19
    lightening  
       2016-05-17 05:52:48 +08:00
    another?
    senghoo
        20
    senghoo  
       2016-05-17 07:14:21 +08:00 via iPad
    正在做一个和楼主想法类似的开源轮子。。不过还处于非常早期阶段。。。
    rainysia
        21
    rainysia  
       2016-05-17 09:35:15 +08:00
    我们公司已经做完了, 外企, 内部应用
    slack+jenkins+ansible+docker+github 企业版
    中间还掺了 confluence+jira+testlink+redmine
    wengcan
        22
    wengcan  
       2016-05-17 09:49:11 +08:00
    阿里云 crp >> https://crp.aliyun.com/
    yaakua
        23
    yaakua  
    OP
       2016-05-17 10:20:59 +08:00
    @kikyous 知道 daocloud 有这功能,我自己看了一下技术上不算太复杂。如果是为企业内部提供一套独立的版本呢? daocloud 好像不是那么方便在企业内部搭建
    yaakua
        24
    yaakua  
    OP
       2016-05-17 10:24:05 +08:00
    @buptrobin 为什么一定要用 jekins 呢?我觉得完全没必要引入 jekins ,这个玩意只会拉长战线。。。
    yaakua
        25
    yaakua  
    OP
       2016-05-17 10:24:20 +08:00
    @slixurd 有开源出来的吗?
    yaakua
        26
    yaakua  
    OP
       2016-05-17 10:25:31 +08:00
    @UnisandK 开源吗?
    yaakua
        27
    yaakua  
    OP
       2016-05-17 10:25:46 +08:00
    @tinyproxy 新时代了,还用传统思维?
    yaakua
        28
    yaakua  
    OP
       2016-05-17 10:26:20 +08:00
    @senghoo 可以一起探讨一下
    senghoo
        29
    senghoo  
       2016-05-17 13:03:36 +08:00
    @yaakua 想着实现一个简单的镜像构建,管理,发布的平台。基本上就是 daocloud 的那些功能吧。
    tinyproxy
        30
    tinyproxy  
       2016-05-17 20:06:12 +08:00
    @yaakua 用传统的 CI 工具就叫传统思维么。。。
    CI 工具只是提供一个 workflow 管理而已,像 jenkins 这一类传统工具做的挺好的为啥不用?想你说的 git 拉代码、 docker 自动构建镜像我用装两个插件就搞定了,部署的话也有其他专门的管理工具, unix 哲学提倡用组合,为啥要搞全家桶呢。。。
    而且,就算用 docker 做,你提到的""" (自动执行拉取代码、编译、制作 Docker 镜像、 push 到仓库) """这些东西也是需要 workflow 管理的吧,轮子这种东西做来玩玩也没啥问题。

    因为我本身就是 RD 不是 OP ,所以我对这句话无感"""用户无需自己掌握这些技术内容""", 因为我觉得你的目标人群应该学习、使用这一类型的技术没有多大问题,又不是直接做给老板用...
    beyondsoft
        31
    beyondsoft  
       2016-05-18 07:12:10 +08:00 via iPhone
    这个想法似乎和我之前弄得玩意类似,就是 git 在 commit 的时候加一些关键字或者发起 PR 的时候加一些关键字 然后会自动触发 ci ci 里面自动 pull 代码 build 镜像在回调自动部署 我之前用户的是 gitlab +gitlab ci +gitlab api 搞的
    yaakua
        32
    yaakua  
    OP
       2016-05-18 17:18:22 +08:00
    @tinyproxy 我的目标使用人群还真是那些不需要学习 docker 相关的人,甚至连 jekins 都不需要配置的人。
    你可能没接触过很多传统企业的开发人员,包括他们的 IT 主管,希望的是能傻瓜化,全家桶,不需要他们自己配置过多的系统。能在一个系统里面就搞定。

    这些应用场景还是很常见的,也是很有需求的。
    janrone
        33
    janrone  
       2016-05-18 18:39:19 +08:00 via iPhone
    感觉门槛有些低,不接触新技术的公司只有等死了。如果真不接触去,他们应该完全也不需要。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2879 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 07:37 · PVG 15:37 · LAX 23:37 · JFK 02:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.