DevOps Top 30+ 面试问题

DevOps术语和定义

  1. 什么是DevOps

    用最简单的术语来说,DevOps是产品开发过程中开发(Dev)和运营(Ops)团队之间的灰色区域。 DevOps是一种在产品开发周期中强调沟通,集成和协作的文化。因此,它消除了软件开发团队和运营团队之间的孤岛,使他们能够快速,连续地集成和部署产品。

  2. 什么是持续集成

    持续集成(Continuous integration,缩写为 CI)是一种软件开发实践,团队开发成员经常集成他们的工作。利用自动测试来验证并断言其代码不会与现有代码库产生冲突。理想情况下,代码更改应该每天在CI工具的帮助下,在每次提交时进行自动化构建(包括编译,发布,自动化测试),从而尽早地发现集成错误,以确保合并的代码没有破坏主分支。

  3. 什么是持续交付

Read More

2021 年务必知道的最好用的 14 款 CI/CD 工具

“Quality at Speed” 是软件开发中的新规范。

企业正在朝着 DevOps 方法论和敏捷文化迈进,以加快交付速度并确保产品质量。在 DevOps 中,连续和自动化的交付周期使快速可靠的交付成为可能的基础。

这导致我们需要适当的持续集成和持续交付(CI/CD)工具。 一个好的 CI/CD 工具可以利用团队当前的工作流程,以最佳利用自动化功能并创建可靠的 CI/CD 管道为团队发展提供所需的动力。

随着市场上大量 CI/CD 工具的出现,团队可能难以做出艰难的决定来挑选合适的工具。该列表包含市场上最好的 14 种 CI/CD 工具及其主要特性,使你和团队在选择过程中更加轻松。

Read More

如何给你的 Git 仓库“瘦身”

对 Git 仓库的维护通常是为了减少仓库的大小。如果你从另外一个版本控制系统导入了一个仓库,你可能需要在导入后清除掉不必要的文件。本文主要讨论如何从 Git 仓库中删除不需要的文件。

Read More

一款免费的 C/C++ 静态代码分析工具 Cppcheck 与 Jenkins 集成

由于历史遗留原因,我们当前产品的代码仓库里遗留很多 Warning,这些 Warning 不是一时半会可以解决掉的。只有通过不断的丰富自动化测试用例,来保障最后的质量关卡,才敢有条不紊的进行 Warining 的修复,在次之前,如何有效杜绝继续引入更多的 Warining 是当下应该做的。

Read More

用 VirtualBox 配置一台 Linux 虚拟机

如果你想使用 Linux 但又不想租用云厂商的虚拟机,那么 VirtualBox 是一个比较好的选择。我们可以在 VirtualBox 安装你需要的绝大数的操作系统。

为了保证使用的流畅,这里最好使用内存建议 8G 及以上,硬盘 256 GB 的 Windows 电脑。

Read More

最有用的 Linux 命令行技巧

ls 命令

列出当前目录的文件和文件夹。参数:

-l 列出时显示详细信息

-a 显示所有文件,包括隐藏的和不隐藏的

Read More

HP-UX 安装工具以及一些使用总结

安装 Java8

安装包下载链接是 https://h20392.www2.hpe.com/portal/swdepot/displayProductInfo.do?productNumber=JDKJRE8018

需要先注册,然后登陆后才能下载,我下载的是 Itanium_JDK_8.0.18_June_2019_Z7550-96733_java8_18018_ia.depot

在线安装文档 https://support.hpe.com/hpesc/public/docDisplay?docId=emr_na-c04481894

Read More

通过 Jenkins 定期自动给老板提供 Git 仓库的多维度代码分析报告

上一篇(GitStats - Git 历史统计信息工具),我已经给老板提供了他想看的所有仓库的 Git 提交历史分析报告了,并且把报告都部署到了一台虚拟机的 tomcat 上了,老板可以通过网址访问直接查看每个仓库的分析报告了,看看谁的贡献大,谁活跃,谁偷懒了,谁周末写代码了(这里不鼓励 996)。

最近老板提需求了。

老板:你弄个这个网址的数据咋不更新呢?报告上咋没见你们提交代码呢?
小开:老板儿,您看到这些一个个仓库的数据都是小开我人肉手动生成的,要不您给我点时间,我来做个自动化任务吧。

Read More

AIX 上安装工具以及一些使用总结

记录在使用 AIX 时所遇到的问题和解决办法,以备以后遇到同样问题不要再因为这些再浪费时间,希望也能帮助到你。

Read More

Solaris 安装工具以及一些使用总结

记录在使用 Solaris 时所遇到的问题和解决办法,以备以后遇到同样问题不要再因为这些再浪费时间,希望也能帮助到你。

Read More

Jenkins Warnings Next Generation 插件

Jenkins Warnings Next Generation 插件

Jenkins Warnings Next Generation 插件可收集编译器警告或静态分析工具报告的问题并可视化结果,它内置了对众多静态分析工具(包括多个编译器)的支持,更多支持的报告格式

Read More

2019 年终总结

时间过得飞快,转眼已经是 2020 年的第三天了,回顾 2019 年,我给自己的年终关键词是:尽力。

这是我作为开发工程师的第二年,虽然 Title 是 SE (Software Engineer),但主要的工作内容是产品的构建和发布以及 CI/CD/DevOps 的落地(自称打杂)。流水的记录一下 2019 年发生在工作上的“成绩”。

Read More

Git 历史统计信息生成器

如果你是研发效能组的一员或者在从事 CI/CD 或 DevOps,除了提供基础设施,指标和数据是也是一个很重要的一环,比如需要分析下某个 Git 仓库代码提交情况:

  • 这个仓库的代码谁提交的代码最多
  • 这个仓库的活跃度是什么样子的
  • 各个时段的提交分析数据
  • 每个版本的贡献排名
  • 每周/每月/每年的贡献排名等等

几天前发现一个 Git 历史统计信息生成工具叫 GitStats (https://github.com/shenxianpeng/gitstats)

Read More

Black Duck 与 Jenkins 集成

最近做了 Black Duck 与 Jenkins 的集成,目标是给测试和开发提供定制化、定时的对各个开发代码仓库的进行源码扫描。

为什么要做源码扫描

Read More

Docker 常用命令

Docker 常用命令小纸条

Docker start|stop|restart

# 查看 Docker 版本
docker -v # or docker --version
# 重启 docker
sudo systemctl restart docker.service
# 停止 docker
sudo systemctl stop docker.service
# 启动 docker
sudo systemctl start docker.service

Read More