摘要: 持续集成中的 pipeline 技术和 docker 都是当前正在发展的主流方向,当然把它们结合起来在 CI/CD 过程中发挥出更强大的威力也是大家共同的目标。本文将介绍如何在 Jenkins pipeline 中集成使用 docker,好在当前的 Jenkins 已经默认通过插件实现了与 dock阅读全文
posted @ 2018-04-19 08:51 sparkdev 阅读(1411) 评论(5) 编辑
摘要: 当下人工智能可谓是风头正劲,几乎所有的大厂都有相关的技术栈。微软在 AI 领域自然也是投入了重注,并且以 Azure 认知服务的方式投入了市场: 也就是说作为开发者我们不需要学习太多 AI 的理论知识,直接使用 Azure 提供的认知服务 API 就可以在程序中实现 AI 的功能了! 本文作为介绍 阅读全文
posted @ 2018-04-16 08:43 sparkdev 阅读(3054) 评论(13) 编辑
摘要: 目录 Help 输出所有的日志记录 匹配(match) 把日志保存到文件中 限定日志所能占用的最高容量 查看某次启动后的日志 查看指定时间段的日志 同时应用 match 和时间过滤条件 按 unit 过滤日志 通过日志级别进行过滤 实时更新日志 只显示最新的 n 行 控制输出 按可执行文件的路径过滤阅读全文
posted @ 2018-04-12 13:15 sparkdev 阅读(976) 评论(3) 编辑
摘要: 对于 devops 来说,容器技术绝对是我们笑傲江湖的法宝。本文通过一个小 demo 来介绍如何使用容器技术来改进我们的 devops 工作流。 devops 的日常工作中难免会有一些繁琐的重复性劳动。比如管理 Azure 上的各种资源,我们会使用 Azure CLI 工具。同时我们也会使用 Ans阅读全文
posted @ 2018-04-09 08:33 sparkdev 阅读(4661) 评论(6) 编辑
摘要: 消息队列和共享内存、信号量一样,同属 System V IPC 通信机制。消息队列是一系列连续排列的消息,保存在内核中,通过消息队列的引用标识符来访问。使用消息队列的好处是对每个消息指定了特定消息类型,接收消息的进程可以请求接收下一条消息,也可以请求接收下一条特定类型的消息。 相关数据结构 与其他两阅读全文
posted @ 2018-04-06 09:03 sparkdev 阅读(2096) 评论(3) 编辑
摘要: 本文继《System V IPC 之共享内存》之后接着介绍 System V IPC 的信号量编程。在开始正式的内容前让我们先概要的了解一下 Linux 中信号量的分类。 信号量的分类 在学习 IPC 信号量之前,让我们先来了解一下 Linux 提供两类信号量: 内核信号量,由内核控制路径使用。 用阅读全文
posted @ 2018-04-03 08:55 sparkdev 阅读(4802) 评论(2) 编辑
摘要: IPC 是进程间通信(Interprocess Communication)的缩写,通常指允许用户态进程执行系列操作的一组机制: 通过信号量与其他进程进行同步 向其他进程发送消息或者从其他进程接收消息 和其他进程共享一段内存区 System V IPC 最初是在一个名为 "Columbus Unix阅读全文
posted @ 2018-03-29 08:34 sparkdev 阅读(6886) 评论(2) 编辑
摘要: 在构建容器镜像时,我们总是希望得到尺寸更小的镜像。比如尽可能的减少镜像中的层数,因为创建新的层是有代价的,每个层都会产生一些数据上的开销。常见的手段是通过 && 把多个 RUN 指令合并为一个: 而现在,我们有了更多的选择。我们可以使用 multi-stage 技术(关于 multi-stage 技阅读全文
posted @ 2018-03-26 08:39 sparkdev 阅读(10204) 评论(18) 编辑
摘要: chroot,即 change root directory (更改 root 目录)。在 linux 系统中,系统默认的目录结构都是以 /,即以根 (root) 开始的。而在使用 chroot 之后,系统的目录结构将以指定的位置作为 / 位置。 基本语法 chroot NEWROOT [COMMA阅读全文
posted @ 2018-03-15 10:32 sparkdev 阅读(4584) 评论(3) 编辑
摘要: 在应用了容器技术的软件开发过程中,控制容器镜像的大小可是一件费时费力的事情。如果我们构建的镜像既是编译软件的环境,又是软件最终的运行环境,这是很难控制镜像大小的。所以常见的配置模式为:分别为软件的编译环境和运行环境提供不同的容器镜像。比如为编译环境提供一个 Dockerfile.build,用它构建阅读全文
posted @ 2018-03-12 08:42 sparkdev 阅读(8959) 评论(14) 编辑