jenkins在生产环境中的应用部署

jenkins在生产环境中的应用部署

六月 20, 2019

官方文档:https://jenkins.io/zh/doc/
1.搭建安装

最低环境要求:
Java8
256M可用内存
1GB磁盘
生产中使用配置:
java8
m4.xlarge(4核16G)
200GB磁盘

jenins分2个版本,LTS和WEEK也就是稳定版和每周更新版,生产环境中使用稳定版。官方版本信息:https://jenkins.io/zh/download/

1
2
3
# wget https://pkg.jenkins.io/redhat-stable/jenkins-2.138.3-1.1.noarch.rpm
# rpm -ivh jenkins-2.138.3-1.1.noarch.rpm
# /etc/init.d/jenkins start

生产环境中使用了nginx反向代理,jenkins启动后访问web,从jenkins log中获取认证秘钥进行下一步


2.插件
输入秘钥后会提示安装插件(默认建议安装的先进行安装),下面列出的是线上所使用到的主要关键插件及版本信息
name|version|function
—–|—–|—–
Active Choices Plug-in|2.1|构建选项列表,我们的生产环境中是用来选择部署zip包
Ansible plugin|1.0|运行ansible playbook
Build Timeout|1.19|任务构建超时自动终止
Credentials|2.1.18|存储秘钥凭据
SSH Credentials|1.14|存储ssh凭据
Email Extension Template Plugin|1.1|邮件扩展模板
Job DSL|1.70|脚本
Role-based Authorization Strategy|2.9.0|基于role的权限控制
Script Security|1.49|我们此处使用这个插件获取代码的附加路径


3.秘钥key
安装好Credentials插件后会有凭据的图标显示,进入里面进行配置,我们的生产环境中一共使用4个秘钥

  1. Git秘钥
    jenkins-dev1.png
  2. ssh秘钥
    jenkins-dev2.png
  3. dynamodb key id
    jenkins-dev3.png
  4. dynamodb key sec
    jenkins-dev4.png

4.初始化一个groovy任务(git+ansible)
jenkins-dev5.png
jenkins-dev6.png


5.创建线上部署任务
执行创建好的groovy任务,创建线上部署任务
jenkins-dev7.png
jenkins-dev8.png
jenkins-dev9.png


6.邮件报警
在全局配置中设置邮件服务器信息,在部署任务中使用邮件扩展插件进行添加邮件报警
jenkins-dev10.png
jenkins-dev11.png