用Docker和Git搭建在线开发环境

用Docker和Git搭建在线开发环境

作者:王延祺 2015-12-30 13:58:00

云计算 搭建开发环境一直让程序员们头疼,本文使用Git子模块和Docker实现高效率的开发工作流,让程序员能够轻松搭建出开发环境,把精力投入到需要开发的应用本身。

 为什么要在云端搭建开发环境

 

[[160845]]

如今,在传统的开发模式下,版本控制,自动化测试,持续集成都已经陆陆续续放到的云端。

  • 测试工程师,可以用过自动化测试脚本在云端做大规模的回归测试
  • 运维工程师,可以通过自动化的部署工具在云端快速部署应用
  • 产品负责人,可以通过版本控制工具控制产品的发布

唯独开发工程师还在利用手中的电脑,笔记本等设备来完成开发工作。

在项目开发阶段,我们通常面临下面几个问题:

1. 在项目启动阶段,如何让开发工程师快速搭建,并配置开发环境,来缩短项目启动时间和成本。

2. 在项目开发阶段,如何让开发工程师有:

– 完全相同的开发环境,来降低调试成本。

  • 近似于产品环境的架构,来降低部署时因环境差异带来的风险。
  • 降低对开发设备性能和种类要求,来降低设备成本。
  • 灵活的分配开发资源(CPU,内存,存储),让需要大量开发资源的工程师快速拿到资源。

云端开发环境要解决的问题总结

基于以上思考,我总结了以下4个云端开发环境要解决的问题:

  • 保证每个开发工程师都能快速的获得一致的“开箱即用”的开发环境
  • 开发环境摆脱开发设备的种种限制,例如操作系统,设备性能
  • 让开发环境尽可能模拟产品环境的结构。
  • 灵活的分配开发资源

在云端搭建开发环境的挑战

一个“开箱即用”的开发环境应该包括:功能完备的代码编辑器, 一个应用运行环境,一个调试工具箱。

  • 为了摆脱设备的限制,集成开发环境可以用HTML5等主流浏览器兼容技术实现。
  • 为了灵活的分配资源和模拟产品环境,可以将应用运行环境放在云端,并使用容器技术配置。
  • 调试工具包括日志的输出,断点等功能。

技术难点总结

  • 在线的集成开发环境:兼容各大主流浏览器
  • 隔离的运行环境:隔离,可定制,高效
  • 调试代码:查看日志,可设置跟踪断点

潜在的可选技术

基于技术难点,我做了一些调查研究,选择了几个备选的开源技术。

  • 在线集成开发环境: ICEcoder, Eclipse Orino, Codiad
  • 隔离的运行环境: 云端虚拟机, Docker
  • 代码调试: fluentd

目前,只确定了使用Docker来实现运行环境。

集成在线开发环境,我使用Git来解耦代码运行环境和编辑环境,并代码同步。

代码调试,我使用独立的fluentd服务收集日志,通过SSH登录到虚拟机查看fluent收集的Docker日志。

云端开发环境的架构概要

下面这张图是一个简单的架构说明。首先,使用Git来解耦代码的编辑和运行环境。

我在云端,使用Docker搭建了Git裸库,裸库中用Git hook来同步代码。使用Docker来运行应用,通过浏览器来检查结果。

因为,代码的编辑和运行环境的分离,开发工程师可以灵活的选择开发工具。开发工具可以是在线编辑器,也可以是本地的编辑器。

借助于Docker的灵活性,开发工程师可以快速配置出应用运行环境,并分享给开发团队成员。

概念验证

  • 在本地编辑代码
  • 用Git同步到云端
  • 用docker运行代码查看结果

原文链接:http://dockone.io/article/930

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/251368.html<

(0)
运维的头像运维
上一篇2025-04-28 22:50
下一篇 2025-04-28 22:51

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注