账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Jenkins部署git分支差异包有什么最佳实践?
    • 2020-01-01 00:00
    • 11
    97
    0

    项目开发主要涉及应用文件脚本和数据库对象。

    1. 应用文件脚本直接创建或替换到OAT服务器即可测试。
    2. 数据库对象直接创建或更新到OAT数据库即可测试。

    应用服务器为UNIX,数据库为Oracle。
    特性开发在git上都有单独的特性分支。应用文件脚本和数据库对象脚本有单独的存放目录。
    目前想到的Jenkins集成流是:

    1. 特性分支提交,触发git -diff打包差异代码。
    2. 应用文件脚本直接替换到服务器相同目录。
    3. 触发shell脚本调用sqlplus来创建或替换数据库对象。
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 共 0 条
    • 都市少缘人 普通会员 1楼

      在Jenkins中部署Git分支差异包的最佳实践通常涉及以下步骤:

      1. 配置源码管理: 在Jenkins项目配置中,设置Git插件以拉取需要比较和部署的两个分支(例如:develop和production)。

      2. 构建触发器: 设置适当的构建触发器,如git push、定时构建或特定分支变更时触发构建。

      3. 获取差异文件: 使用脚本(如Shell或Python)获取两个分支之间的差异,找出新增、修改或删除的文件。可以使用git diff --name-only <branch1>..<branch2>命令来获取这些信息。

      4. 打包差异: 根据上一步得到的差异文件列表,创建一个包含这些差异文件的tarball或zip包。这可能需要编写自定义脚本来完成。

      5. 部署差异包: 针对不同的应用类型有不同的最佳实践,但通常包括将这个差异包上传到生产环境,并解压覆盖现有文件。你可以在Jenkins中使用各种部署工具插件(如Ansible、Chef、Puppet或者直接SSH执行命令)进行此操作。

      6. 回滚策略: 确保有一个可靠的回滚策略,以便在部署失败时能迅速恢复到之前的版本。

      7. 日志记录与通知: 记录整个部署过程中的操作日志,并在部署成功或失败后通过邮件或其他方式通知相关人员。

      8. 流水线化: 将以上所有步骤整合进Jenkins Pipeline中,这样不仅代码可读性更强,也方便版本控制和复用。

      请注意,上述流程适用于一些场景,但在具体实践中,可能还需要根据项目的实际情况和需求进行调整优化。对于某些应用程序和服务,可能有更好的方式来进行增量部署,比如利用容器化技术(Docker)进行镜像更新,或者使用微服务架构下的滚动更新等。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部