Ansible实现jenkins开箱即用~没那么简单

2020-07-03 10:30:55 浏览数 (1)

  • 零、缘由
  • 一、基于Ansible的Jenkins周边信息介绍
  • 二、功能实现解析
  • 三、TODO
  • 四、参考文档
  • 五、github地址

零、缘由

0.1、我们的目标

代码语言:javascript复制
分分钟生成一套可用的jenkins环境

0.1、状况

代码语言:javascript复制
出于安全考虑,jenkins会生成一个随机的口令到安装的目录下`不同的安装方式存放路径会不一样`,你是不是安装jenkins的时候也会被卡在这一步,作为一个懒的不能再懒的扛服务器的,有木有感觉有些反人类~

我们的口号是: 不会耍流氓的运维不是好开发, 同样也不是一个合格的扛服务器从业者~

0.3、安全考虑

代码语言:javascript复制
由于跳过了安全性验证,如果你想使用该方案,请自行思量安全性相关

一、基于Ansible的Jenkins周边信息介绍

1.1、环境描述

代码语言:javascript复制
ansible: 2.3
OS:     centos 6|7
jdk:     1.8.0
jenkins: latest

1.2、Ansible roles工作流

代码语言:javascript复制
jdk        安装 openjdk
jenkins     安装 rpm包方式
设置jenkins启动账号,设置jenkins家目录等
设置管理员帐号密码
常用插件自动安装

二、功能实现解析

2.1、如何跳过安全性检测

代码语言:javascript复制
vim /etc/init.d/jenkins

添加一行
JENKINS_JAVA_OPTIONS="$JENKINS_JAVA_OPTIONS -Djenkins.install.runSetupWizard=false -Dpermissive-script-security.enabled=true"

2.2、如何创建管理员帐号密码

代码语言:javascript复制
通过启动jenkins时候触发groovy脚本来实现创建账号密码

2.3、如何安装插件

代码语言:javascript复制
通过java -jar jenkins-cli.jar -s url install-plugin plugin_name

三、TODO

  • [ ] 优化Docker来满足场景的需求
  • [ ] 提供pipeline demo
  • [ ] 自动替换主题

四、参考文档

代码语言:javascript复制
大神github地址: https://goo.gl/VU7eYW

五、github地址

5.1、github地址

Ansible roles集合: https://github.com/zhuima/ansible_roles

5.2、想说的话

折腾jenkins是为了后续k8s集成,有志同道合的小伙伴,欢迎入伙~

0 人点赞