InfraPub 为您找到相关结果 11

Gitlab 12.2 发布:改进团队协作

Gitlab 12.2 已经发布,此版本将帮助团队优化他们的管道,改进协作,并管理项目之间的相互依赖。更新内容如下: 更快、更灵活的管道 CI 管道的目标是自动化构建和测试任务,加速软件交付,同时减少错误。然而,对于某些用例,GitLab CI/CD 管道并没有那样高效。GitLab 12.2 现在支持 Directed Acyclic Graphs (DAG) 作为创建和管理详细作业依赖关系的方法,而不是依赖于顺序阶段。使您的 CI 管道变得更快和更有效率。 设计管理 软件开发是一项团队协作工作,在 12.2 版本中,提供了新的能力,包括在 GitLab 上的设计管理。设计管理将使设计内容的共享、版本和协作变得容易,从而帮助团队更有效地使用单一来源。 跨项目合并请求依赖 复杂系统通常...阅读全文

博文 2019-08-23 15:59:42 debian.cn

Facebook 是如何进行大规模代码部署的

Facebook 的首位发布工程师,目前是 Facebook 发布工程的工程总监。 Facebook 的发布周期是“ quasi-continuous ” (准连续)——这只是一种委婉的说法,表明并非每次提交都会部署到生产环境,实际上它采用的是对几十到几百个提交进行批处理,每隔几个小时就进行推送。这种分层发布的方式使任何变更的回滚很容易。 这个新系统从 2016 年 4 月开始,经过一年的时间慢慢地完善。早先的模式是从主干分支的提交中选择特定的变更放到发布分支上。发布分支每天将这些变更推送到生产环境。这种“ cherry-picking ”的特点是,每天选择变更的数量为 500 ~ 1000。剩下的变更就推入到每周发布分支中。随着时间的推移,提交的数量和参与其中的工程师都有所增加,发布工程师的劳动变得...阅读全文

博文 2017-10-31 14:05:20 debian.cn

STIG for Debian 9发布

随着 Debian"Stretch" 9 的正式发布和大规模部署,HardenedLinux 社区也发布了 STIG(安全技术实现指南) for Debian 9 的版本,STIG 是美国国防部对 IT 设施的安全防护合规,其中也包含了 GNU/Linux 操作系统,自 STIG for Debian 8 发布已经有两年时间【注】,Debian 9 的 STIG 实现参照 RHEL 7,相比上一版,STIG for Debian 9 和 RHEL-STIG 有更高的耦合度,除了 SELinux 和少量条目需要检测外,大部分都已经在 Debian 9 上实现了自动化,未来我们会继续完善 MAC/RBAC 基于 Debian 9 的替代方案以满足 STIG 的标准化合规。 【注】安全部署...阅读全文

博文 2017-07-13 13:40:35 debian.cn

Go 公布 2.0 设计草案:规模化和扩展性、支持泛型

(string(hex)) os.Stdout.Write(data) } 二、错误值(Error values) 大型程序必须能够以编程方式测试和响应错误,并且还能很好地报告它们。 目前的各种流行的助具包添加了超出标准错误接口的功能,但它们以不兼容的方式执行。对于 Go 2,开发团队考虑将“可选接口”标准化,以允许这些工具包进行互操作,并慢慢减少对它们的需求。 改进主要包含两个目标:一是让程序的错误检查更容易,更不容易出错,以提高程序的错误处理和稳健性;二是希望能够以标准格式打印包含额外细节的错误。 // Is reports whether err or any of the errors in its chain is equal to target. func Is(err, target...阅读全文

博文 2018-09-01 18:39:47 debian.cn

不可变基础设施 (immutable infrastructure) - 云原生定义解析

(对于大中型机,甚至重启都是一种奢侈的)。所以,在当时不可变基础设施的设想是难以实现的,开发人员总是需要在服务器上对运行环境做一下持续的更改,如:系统升级,配置修改,补丁等。在许多手动修改之后,服务器的不同配置的重要性或必要性变得不清楚,因此更新或更改任何配置可能会产生意想不到的副作用(这就导致了 Martin Fowler所说的snowflake server “Phoenix Server”,2012)。可变基础设施通常会导致以下问题。在灾难发生的时候,难以重新构建服务。持续过多的操作,缺乏记录,会导致很难由标准初始化后的服务器来重新构建起等效的服务。在服务运行过程中,持续的修改服务器,就犹如程序中的可变变量的值发生变化而引入的状态不一致的并发风险。这些对于服务器的修改,同样会引入中间...阅读全文

Debian 8 (Jessie)下面如何安装卸载docker

--purge docker-engine 需要注意的是上面的命令只是删除了 docker-engine 包,并不会删除下载的镜像,产生的容器文件,卷,已经用户创建的配置文件。关于 apt-get 的详细用法,请参考这里。可以用下面的命令干掉它们: $ sudo rm -rf /var/lib/docker 然后删除自己创建的配置文件就可以了。...阅读全文

博文 2021-01-28 17:50:17 debian.cn

Spinnaker 介绍 – Netflix 的持续交付平台

,Google云,微软云等,后来还支持了容器,但是管理方式还是按照管理基础设施的模式来设计的。 Spinnaker 中管理如下资源: Server Group:最基本的逻辑资源,包括了若干使用相同配置和镜像的虚拟机,若干负载均衡(load balancer),以及安全组。安全组规则(Security Group):就是 AWS 中的安全组,可以理解成防火墙。负载均衡(Load Balancer):AWS 中的 ELB,也可能是安装在虚拟机中的负载均衡。 2. 部署管理 管理部署流程是 Spinnaker 的核心功能,他负责将软件包(可能是创建的或者 jenkins 创建的)打成一个镜像,用这个镜像生成对应的虚拟机,让服务真正运行起来: pipeline 在 Spinnaker 中一个部署流程叫做...阅读全文

博文 2018-12-21 19:30:47 debian.cn

Debian 往事: 与已故创始人 Ian Murdock 的昔日访谈

? Linux 系统当时的分割方式基本就是磁盘分割。所以如果你下载了所有的磁盘的话,某种意义上你也就下载了一套 Linux 系统。我们认为这个方法不够好,我们要用更适合分工开发的法子来。 我们决定 Debian 的系统开发由资源包来。也就是说,系统的每一个内容、每一个板块都会以资源包的形式存在,这些资源包能够自动整合成一个完整的系统。你下载了这个资源包的时候,它就知道如何移除自己或是升级自己。 分工也一样按照资源包来,哪个资源包出错了就能非常明确地知道是谁的责任。我们会在开发时设定标准和规定,保证任何来源的资源包都能在我们的系统上照常运行。所以你只要下载全资源包,你就有了一整个系统。这感觉就像布艺一样,把很多布片拼成一整个作品,只不过实际上原理要比这复杂不少。 当然 Debian 项目的资源包分割法...阅读全文

博文 2021-01-28 17:50:13 debian.cn

journalctl 清理journal日志 - 九重霄

--vacuum-time=2d journalctl --vacuum-size=500M 如果要删除日志文件,则在删除前需要先轮转一次journal日志 systemctl kill --kill-who=main --signal=SIGUSR2 systemd-journald.service 要启用日志限制持久化配置,可以修改 /etc/systemd/journald.conf SystemMaxUse=16M ForwardToSyslog=no 然后重启 systemctl restart systemd-journald.service 检查journal是否运行正常以及日志文件是否完整无损坏 journalctl --verifyjournal配置参考 [Journal...阅读全文

博文 2021-02-05 15:43:28 博客园

如何写好技术文档 — 来自十多年的文档经验总结

本文大部分内容翻译总结自《Software Engineering at Google》 第10章节 Documentation。 另外,该书电子版近日已经可以免费下载了 https://abseil.io/resources/swe_at_google.2.pdf,有兴趣的同学可以下载翻阅下。 首先声明,本问所说的文档不仅限于纯文本文档,还包含代码注释(注释也是一种特殊形式的文档)。 ## 文档的重要性 ## 高质量的文档对于一个组织或团队来说有非常多的益处,比如让代码和API更容易理解、错误更少;让团队成员更专注于目标;也可以让一些操作更容易;另外如果有新成员加入的话有文档也会让他们更快融入…… 写文档有比较严重的收益滞后性,不像测试,你跑一个测试case,它能立即告诉你是对还是错...阅读全文

博文 2021-07-30 16:15:13 joseph

Redis 命令、特性介绍与性能调优

该数据的主体而仅仅是同步过来的备份,那么可以关闭Redis的数据持久化机制。 但通常来说,仍然建议至少开启RDB方式的数据持久化,因为: RDB方式的持久化几乎不损耗Redis本身的性能,在进行RDB持久化时,Redis主进程唯一需要做的事情就是fork出一个子进程,所有持久化工作都由子进程完成 Redis无论因为什么原因crash掉之后,重启时能够自动恢复到上一次RDB快照中记录的数据。这省去了从其他数据源(如DB)同步数据的过程,而且要比其他任何的数据恢复方式都要快 现在硬盘那么大,真的不缺那一点地方 RDB 采用RDB持久方式,Redis会定期保存数据快照至一个rbd文件中,并在启动时自动加载rdb文件,恢复之前保存的数据。可以在配置文件中配置Redis进行快照保存的时机...阅读全文

博文 2018-10-27 10:37:55 debian.cn