jenkins+docker自动化运维发布
面对微服务越来越繁杂的开发和运维,自动化部署的出现无异于雪中送炭,今天就开始一步一步搭建自动化部署平台,基于Docker。
本次搭建的前提;
- Docker
安装Docker
运行命令:
1 |
|
安装所需的软件包。 yum-utils提供了yum-config-manager实用程序,devicemapper存储驱动程序需要device-mapper-persistent-data和lvm2
1 |
|
设置稳定的镜像仓库
1 |
|
安装最新版docker
1 |
|
docker加速
1 |
|
如果不存在daemon.json文件则新建一个
daemon.json
1 |
|
重启守护进程
1 |
|
docker常用命令
1 |
|
jenkins和docker私有仓库registry环境安装
安装jenkins
1 |
|
安装私有仓库
1 |
|
jenkins 配置
初始化jenkins及安装插件
启动完jenkins后通过浏览器输入地址http://部署jenkins主机IP:端口
根据提示从输入administrator password 或者可以通过启动日志
1 |
|
查看这个password 如:
选择安装插件方式,这里我是默认第一个
进入插件安装界面,连网等待插件安装
安装完插件后,进入创建管理员界面
输入完管理员账号后,点击continue as admin 进入管理界面点击系统管理-插件管理中安装docker构建插件和角色管理插件
安装docker构建插件,在可选插件中查找docker build step plugin
安装角色管理插件,在可选插件中查找Role-based Authorization Strategy
安装SSH插件,用于构建成功后执行远端服务器脚本从docker本地仓库获取镜像后发布新版本
安装 Email Extension Plugin 插件,配置自动发送邮件
配置jenkins属性及相关权限
jenkins属性
点击系统管理->Global Tool Configuration->找到jdk点击新增按钮(自动安装请先到Oracle注册账号)
配置git
点击系统管理->Global Tool Configuration->找到maven点击新增按钮
点击系统管理->系统设置
配置SSH
配置docker
设置docker主机可以被远程访问
1 |
|
重启docker
1 |
|
重新启动jenkins容器
1 |
|
配置邮件
jenkins权限
选择系统管理->Configuration Global Security(全局安全设置)->进入选择启用安全:
TCP port for JNLP agents ->禁用,访问控制-安全域->jenkins专有用户数据库,访问控制-授权策略->Role-Based Strategy 如:选择系统管理->Manage and Assign Roles->Manage Roles:
添加Global Roles(admin、member、ops、others),
设置全局角色(全局角色可以对jenkins系统进行设置与项目的操作)
admin:对整个jenkins都可以进行操作
ops:可以对所有的job进行管理
other/member:只有读的权限添加project Roles(dmp-manager、dmp-view、tsc-manager、tsc-view)并且给添加的角色分配如下权限
- 注意:在添加project Roles时,如果想让不同的用户看到不同的job,必须设置Pattern,如上dmp_manager角色就只能查看以dmp开头的job,Pattern规则必须是“dmp.”,注意是以“.”结尾的匹配规则,tsc亦是如此。
选择系统管理->管理用户:新建几个管理员用户如:dmpadmin、tscadmin
选择系统管理->Manage and Assign Roles->Assign Relos:把第三步的用户加到user/group中并授于对应的角色权限 如:
创建-编译-打包-上传docker镜像任务-执行远端脚本从私有仓库获取镜像发布新版本-发布完成发送邮件推送
新建任务
源码管理
构建触发器
如果没有此项,请安装该插件 Generic Webhook Trigger
github创建webhook
http://用户名:webToken@Jenkins服务器地址:端口/generic-webhook-trigger/invoke
如http://admin:dsfadfadsfaf@192.168.1.1:8080/generic-webhook-trigger/invoke
点击添加webhook
图中的token和上面构建触发器中填写的token是一致的,如果都没有构建器中没有填写,那么这边可以不用添加
构建
1、maven 构建项目
2、构建docker镜像
3、推送docker镜像
maven 构建镜像
构建和推送docker镜像
SSH执行远端服务器脚本运行最新镜像
构建后操作
发送邮件推送
验证构建
见证奇迹的时候到了
点击立即构建
my-site-run.sh
1 |
|
- 本文作者:winter chen
- 本文链接:https://blog.winterchen.com/2020/03/14/2020-03-14-docker-jenkins/index.html
- 版权声明:本博客所有文章均采用 BY-NC-SA 许可协议,转载请注明出处!