最近做了 Black Duck 与 Jenkins 的集成,目标是给测试和开发提供定制化、定时的对各个开发代码仓库的进行源码扫描。
Docker 常用命令
北京48小时:记一次参加 DevOps 训练营
本周二下班我没有像往常一样加会班(我一般都会赶在晚6点后下班来躲过晚高峰期),而是直接挤地铁奔向机场,准备坐八点半去往北京的一班飞机,因为第二天要参加 JFrog 中国在北京望京举办的 Jenkins, Artifactory & Kubernetes 实战训练营。
Docker 版本概述
Docker 可分为三个版本
- Docker Engine - Community
- Docker Engine - Enterprise
- Docker Enterprise
Docker Engine - Community 是希望开始使用 Docker 并尝试基于容器的应用程序的个人开发人员和小型团队的理想选择。
Docker Engine - Enterprise 专为企业开发容器运行时而设计,同时考虑了安全性和企业级SLA。
Docker Enterprise 专为企业开发和IT团队而设计,他们可以大规模构建,交付和运行关键业务应用程序。
能力 | Docker Engine - Community | Docker Engine - Enterprise | Docker Enterprise |
---|---|---|---|
容器引擎和内建的编配,网络,安全 | √ | √ | √ |
认证的基础设施,插件和ISV容器 | √ | √ | |
镜像管理 | √ | ||
容器应用程序管理 | √ | ||
镜像安全扫描 | √ |
安装 Docker 社区版本
- 以 CentOS 安装为例: https://docs.docker.com/install/linux/docker-ce/centos/
其他 Docker 版本安装
- 参考 Docker 官网:https://docs.docker.com/install/overview/
定制一个 Docker 版 Jenkins 镜像
对于如何备份 Jenkins 除了用 Jenkins 插件来定期备份之外,如果把 Jenkins 安装到 Docker 里,定期备份一个 Docker Image 最后传到 Artifactory 中,也是一个不错的方案。
Artifactory 与 Jenkins 集成
上一篇 初识 JFrog Artifactory,介绍了什么是 Artifactory,以及如何安装、启动和升级。
本篇介绍 Artifactory 与 Jenkins 的集成,因为没有与 CI 工具集成的 Artifactory 是没有灵魂的。
通过集成,可以让 Jenkins 在完成构建之后,可以直接将制品(比如 build)推送到 Artifactory,供测试下载、部署或是后续的 Jenkins 任务去继续进行持续集成。
初识 JFrog Artifactory
Jenkins Console Output 显示彩色
如果想让 Jenkins Console Output 出来一些重要日志醒目的显示,可以让一些日志显示颜色方便查看
- 首先需要安装插件: https://wiki.jenkins.io/display/JENKINS/AnsiColor+Plugin
- 安装成功后进入系统设置
Jenkins privilege management
如何针对 Jenkins 里的不同 Job 进行不同的策略管理。比如某个 Job 所有人都可以查看,但仅限于某些人可以执行,这时候就需要对 Job 行程权限设置。
这里用的插件是 Role-based Authorization Strategy。安装成功后,打开要设置的 Job, 设置如下:
如何设置 NFS 共享以及在不同的平台 Windows/Linux/Unix 进行挂载
例如我有一个共享仓库的代码所在用的空间非常大(超过 20 G),在每个产品构建时候都需要用到这个仓库的代码(从里面 copy 第三方库),如果每个人都要 git clone 这个第三方仓库,一是网络开销非常大,二是 git clone 时间长,而且占用大量的物理空间。
这可以通过 NFS 共享来解决。
另外希望这个代码仓库能自动更新,这里引入了 Jenkins。用它来检查如果这个容量巨大的仓库有代码提交就自动执行 git pull 操作,更新最新的代码到共享服务器上。