Jenkins 持续集成实践(以网易蜂巢为例)-1 Master 节点的创建

使用场景

当 Github 发生 push 操作时,能够触发测试环境的持续集成。

步骤

  1. 搭建 master 节点

蜂巢在官方 jenkins 镜像的基础上

  • 预先安装了 jenkins 的插件
  • 预置了用户 (jenkins/jenkins)

jenkins节点分为

  • master 节点
  • slave 节点

Master/Slave 相当于 Server/Agent 的概念

  • Master 节点提供 web 接口来让用户管理 job 和 slave
  • job 可以运行在 master 本机也可以被分配到 slave 上运行

一个 master 可以关联多个 slave 来为不同的 job 或相同的 job 的的不同配置来服务。
master 作为管理角色,slave 执行构建工作

1.1 创建空间

为区别于其他服务建议在蜂巢中新建一个空间,如 ci,如图:

1.2 创建 master 服务

在空间 ci 下创建 jenkins master 服务

推荐使用有状态服务,使用有状态服务的优点如下:

  • 有状态服务可以绑定公网 IP,公网 IP 可以用于 github 添加 webhook,
  • 有状态服务可以挂载云硬盘,挂载云硬盘可以保证 jenkins 的配置数据不丢失。

创建服务,服务名称为 master,服务状态选择有状态,如图:

点击「下一步」,选择镜像public/jenkins:2.19.2,如图:

填写容器名称,如"master"
SSH 密钥部分不用操作,不建议新建密钥,不建议选择已经有的密钥,后期需要使用密钥时可在后期进行手动注入,具体可参考如何注入密钥
挂载数据盘部分选择新建云硬盘,可以命名为 master,如图:

挂载目录填写/var/jenkins_home/

挂载到这个路径的原因是 jenkins 的配置信息在路径/var/jenkins_home/下,这样 jenkins 的配置数据便存储在了云硬盘中。

后期需要重新建 master 节点时直接将之前的云硬盘挂载到路径/var/jenkins_home/即可,节省 jenkins 的配置操作。

如图:

启动命令选择默认命令。
环境变量和日志目录可以根据自己需要进行填写。
点击下一步,如图:

根据自己需要配置计费方式、规格、端口配置,确认配置信息后点击立即创建即可开始 master 服务的创建。
master 服务创建完成后,绑定弹性公网 IP,如图:

Attention

如果使用的是自己私网搭建的 github,需要确保搭建的 github 和 jenkins master 之间的网络连通。

如果是自己制作的镜像,建议不要将 Dockerfile 中配置的卷的挂载路径和云硬盘的挂载路径重合。

转载自 网易蜂巢-如何进行持续集成

时间: 2024-09-30 05:19:25

Jenkins 持续集成实践(以网易蜂巢为例)-1 Master 节点的创建的相关文章

Jenkins与Docker的持续集成实践

本文讲的是Jenkins与Docker的持续集成实践[编者的话]持续集成(CI/CD)是一种软件开发实践.用于帮助团队成员频繁.快速的集成,测试他们的工作成果,以尽快发现集成错误. 更频繁.更早的集成意味着更早的发现问题.通过持续集成,及时发现和解决代码故障,提高代码质量,减少故障处理成本等等. [3 天烧脑式基于Docker的CI/CD实战训练营 | 北京站]本次培训围绕基于Docker的CI/CD实战展开,具体内容包括:持续集成与持续交付(CI/CD)概览:持续集成系统介绍:客户端与服务端的

Android项目持续集成实践之Gitlab CI(Docker版本)

接上一篇 Android项目持续集成实践之Gitlab CI. 在我看来,.gitlab-ci.yml 配置还是有些复杂,写的脚本还是有点多,有没有办法更精简一点呢? 有,那就是Android环境Docker化.(注:对Docker感兴趣的同学,请参考这本书<Docker -- 从入门到实践>). 我在这本书的指导下封装了一个包含Android开发环境的Docker镜像. 1. https://github.com/snowdream/docker-android 1. https://hub

tomcat-mac系统的jenkins持续集成问题

问题描述 mac系统的jenkins持续集成问题 请问安装好tomcat和jenkins后,新建job 构建,生成的workspace不在jobs下,为什么呢,找不到原因,求大神们帮忙 解决方案 tomcat重新安装就好了

基于Docker的Jenkins持续交付实践

讲师介绍  叶峰 有容云资深前端开发工程师   现负责有容云容器云平台Web架构设计和CI(持续集成)产品的研发 拥有丰富的Web前端开发经验.   主题简介: Jenkins pipeline基础概念 Jenkins pipeline如何带来工作便利 基于容器的Jenkins CI流程 Jenkins.Docker.Kubernetes整合的集成部署   传统交付方案   传统我们的项目开发模式是产品调研提出需求,开发团队研究决定开发方案选型.然后开始一个周期的开发,模块开发完成之后开始模块间

持续集成实践小结[1] —UI自动化

背景介绍 按照组织上的安排,咱游击到了S产品(一个快速成长中的Web产品)开搞持续集成. 考虑到S产品核心业务单一明确,前端功能简单,业务逻辑主要在后端的特点,制定了持续集成的实施策略: UI自动化为辅,用例少一点,精一点,降低维护成本,用例设计以冒烟和页面跳转,走通业务流程为主,目的是保障一个高可测性的测试环境: 单元测试重点跟进,自顶向下逐步覆盖各层接口,多覆盖各种分支路径,与UI自动化形成互补. 这里有个小插曲,我和S产品的测试负责人关于UI自动化用例的粒度和覆盖度有一些歧义,测试负责人坚

Android项目持续集成实践之Gitlab CI

简介 持续集成(Continuous integration)是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误. 入门 下面我们来简单介绍,如果通过Gitlab CI来对Android项目持续集成. 一言不合,先甩给你一个项目链接:https://gitlab.com/snowdream/Citest 项目很简单,就是一个默认创建的Andro

IOS6.1单元测试持续集成实践

最近项目测试需要,调研并实践了下IOS下单元测试工具和框架.目前比较流行的工具有xcode自带的OCUnit.GHUnit等,我选择的是GHUnit,因为相比OCUnit,GHUnit具有如下优势: 1.开源框架 2.支持重复测试.单一测试.集成测试. 3.断言方法丰富 4.支持持续集成 5.测试类型多样(UI和Command Line) 官方地址如下:http://gabriel.github.io/gh-unit/ GitHub下载地址:https://github.com/gabriel/

云计算基础设施持续集成实践

[演讲PDF]: https://yq.aliyun.com/attachment/download/?id=1837 [演讲视频]: https://yq.aliyun.com/edu/lesson/551 研发和传统基础设施交互方式 通常情况下,在开发过程中需要和基础设施打交道,需要在项目中申请开发.测试以及预发生产环境.在IDC时代,我们需要向IT部门申请这些资源,其批准后,我们才能获得这些资源.如果这些资源恰巧不足,我们只能等待购买新的资源或者更换其他资源. 当拿到这些资源之后,需要对开

持续集成实践小结[2] —单元测试

前文提到,在UI自动化之外,我们着力探索了如何实施单元测试(unit test) 相对于UI自动化,单元测试方面的实践还是不够充分的,因此,这里也只是小结一下我们的经验 概述 首先明确一下,此处单元测试概念与经典意义有所不同,泛指所有: 由开发工程师编写的,可以在开发本地一键运行的,运行时间在分钟级别的测试用例,用例执行会依赖不多的,但往往也是稳定可靠的外部环境 测试框架一般使用TestNg而不是JUnit,主要原因在于TestNg的 DataProvider 功能很给力,非常适合用例须要覆盖多