前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >搭建Jenkins集群流水账

搭建Jenkins集群流水账

作者头像
颇忒脱
发布2019-03-13 16:11:25
5370
发布2019-03-13 16:11:25
举报

硬件要求

不论是master还是slave,都要安装:

  • 操作系统:Ubuntu 16.04 Server LTS
  • Docker-CE

Docker安装方法:

我在安装的时候碰到Jenkins无法从Update center下载metadata的问题,经发现是docker的mtu比服务器网卡mtu大的问题,解决办法如下:

  • 新建或者修改文件:/etc/docker/daemon.json,添加mtu的设置比如:
代码语言:javascript
复制
{
  "mtu": <服务器网卡的mtu>,
  ...
}
  • 你可以配置docker registry mirror,同样修改/etc/docker/daemon.json
代码语言:javascript
复制
{
  "registry-mirrors": ["..."],
  ...
}

然后重启docker:sudo systemctl restart docker

部署master

创建目录:mkdir $HOME/jenkins-home

启动Jenkins:

代码语言:javascript
复制
sudo docker run \
  -u root \
  -d \
  -p 8080:8080 \
  -p 50000:50000 \
  -v $HOME/jenkins-home:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  --name jenkins \
  jenkinsci/blueocean

创建ssh密钥对:ssh-keygen

初始配置Jenkins

  • 浏览器访问Jenkins:http://<jenkins-master-ip>:8080/
  • 选择安装社区推荐插件
  • 设置管理员用户

安全配置

配置LDAP

如果要配置LDAP,那么一定要记住,配置完之后不要注销。

系统管理 -> 全局安全设置,访问控制,选择LDAP,然后根据情况配置即可。

注意配置完之后一定要Test。

配置授权策略

系统管理 -> 全局安全设置,授权策略,项目矩阵授权策略。

打开浏览器隐私窗口,用一个账号登录,这个账号将替代当前使用的管理员账号。

下面为了方便理解,下面吧当前浏览器称为A窗口,隐私窗口浏览器称为B窗口。

回到A窗口,添加刚才登录的用户,如果正常添加,用户名上不会有删除线。然后在全部这一栏勾选Administer,点击应用。

此时A窗口的管理员账号应该就不能做任何操作了,而且再也不能登录了。

到B窗口,刷新一下,继续后面的管理员动作。

下图是推荐的配置方法:

clipboard.png
clipboard.png

添加Slave节点

前期准备

  • 准备Slave的机器
  • 安装Docker-CE
  • 安装openjdk:sudo apt install -y openjdk-8-jdk
  • 新建工作目录:mkdir $HOME/jenkins-workdir
  • 把master的pub key添加到slave上:把master的$HOME/.ssh/id_rsa.pub内容添加到slave的$HOME/.ssh/authorized_keys里。

到 系统管理 > 节点管理,新建节点

  • 名字:slave-1
  • 并发构建数:2(cpu核数)
  • 远程工作目录:<jenkins-workdir的绝对路径>
  • 用法:尽可能的使用这个节点
  • 启动方式:Launch agent agents via SSH
  • Host:<slave的ip>
  • Credentials:这个时候要创建一个平局,方法如下:
    • Domain,全局凭据
    • 类型:SSH username with private key
    • username: <slave的操作系统用户名>
    • private key: 把master $HOME/.ssh/id_rsa 的内容贴上去
    • Passphrase: <blank>
    • ID: <blank>
    • 描述:For slave connection
  • Host Key Verification Strategy:Non verifying Verification Strategy
  • 保存
  • 修改master节点,执行者数量设置为0,这样就能避免Job分配到master上。

安装其他插件

系统管理 -> 插件管理,安装下列插件:

  • Config File Provider
  • Pipeline Maven
  • Coding Plugin
  • Rancher Plugin
  • TestNG Results
  • SonarQube Scanner

配置工具

系统管理 -> 全局工具配置,都选择自动安装,下面列出的是工具的名字

  • JDK:JDK6、JDK7、JDK8,要输入oracle网站账号密码
  • Maven:Maven3
  • Docker:Docker

配置时区

用Docker启动Jenkins时区是GMT+0

见wiki:https://wiki.jenkins.io/displ...

系统管理 -> 脚本命令行

代码语言:javascript
复制
System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')

清理重装方法

如果你配置错误搞砸了,想从头开始,那么这么做,只需要这么几步:

  • ssh到master上:
  • sudo docker stop jenkins
  • sudo rm -rf $HOME/jenkins-home/*
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 硬件要求
  • 部署master
  • 初始配置Jenkins
  • 安全配置
    • 配置LDAP
      • 配置授权策略
      • 添加Slave节点
      • 安装其他插件
      • 配置工具
      • 配置时区
      • 清理重装方法
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档