Download presentation
Presentation is loading. Please wait.
1
Jenkins 讲师:郭宏泽
2
目录 1. Jenkins集群 2. 整合LDAP 3.按角色权限 4. Pipeline 5.Nexus仓库
3
Jenkins集群
4
创建节点 在Configure Global Security中开启TCP port for JNLP agents 随机选取或指定端口
新建节点 节点名 执行器数量 远程工作目录(可以不存在) 用法-只允许绑定到这台机器的job Lanch slave agents on unix machines vis SSH 增加认证权限 节点的构建环境要符合job的要求
5
分配任务到节点 在任务配置中勾选Restrict where this project can be run
6
使用场景 IOS构建 Android构建 Windows项目构建 大规模高并发任务构建 特定环境构建
任务:指定一个maven项目在节点01上构建并成功
7
整合LDAP
8
Jenkins配置LDAP
9
配置说明 Rootdn 可以登入jenkins的用户组 用户搜索过滤器 uid={0} linux openladp
sAMAccountName={0} windows AD ManagerDN LDAP超管
10
超管授权
11
按角色授权
12
用户设置 超管root team1用户 team2用户 用户关联自己团队相关job,无法查看或执行其它job 每个team新建两个任务
新建两个用户
13
按角色授权 安装 Role-based Authorization Strategy 插件
Configure Global Security>授权策略>选择Role-Based Strategy
14
设置全局角色 Jekins>系统管理>Manage and Assign Roles>Manage Roles
创建全局角色member(项目用户进入后可以读取和创建Job) Overall允许read
15
设置项目角色 新建project roles 注意pattern的匹配模式是xxx.* 这样team1只能看到team1开头的job
16
全局授权 进入Assign Roles 在Global roles中加入team1/team2并授权member
17
项目授权 在Projects roles中加入team1/team2并进行相应授权
18
验证授权 注意如果开放新建权限,则team1创建的job名必须符合规则
19
Pipeline
20
pipeline Pipeline是部署流水线 Pipline将整个交付过程代码化
21
创建pipeline 创建pipeline 配置pipeline Hello world node { stage 'Stage 1'
echo 'Hello World 1' stage 'Stage 2' echo 'Hello World 2‘ }
22
语法生成 在项目界面点击Pipeline Syntax Build a job Git Node sh Stage
23
Nexus仓库
24
什么是nexus? Neux MAVEN的私有仓库 如果没有nexus 项目的打包都需要通过公网下载 不利于包的管理和共用
如果没有私服,我们所需的所有构件都需要通过maven的中央 仓库和第三方的Maven仓库下载到本地,而一个团队中的所有 人都重复的从maven仓库下载构件
25
Nexus 功能
26
安装 下载地址 http://www.sonatype.com/download-oss-sonatype
tar zxvf nexus bundle.tar.gz Cd nexus /bin export RUN_AS_USER=root ./nexus start
27
访问 默认用户名密码 admin admin123
28
Nexus流程 宿主仓库 本机 Maven Nexus 仓库组 代理仓库 远程
29
整合maven <?xml version="1.0" encoding="UTF-8"?> <settings xmlns=" xmlns:xsi=" xsi:schemaLocation=" <profiles> <profile> <id>default</id> <repositories> <repository> <id>public</id> <url> <releases> <enabled>true</enabled> </releases> <snapshots> </snapshots> </repository> </repositories> </profile> </profiles> <activeProfiles> <activeProfile>default</activeProfile> </activeProfiles> </settings>
30
部署工作流 DevOps发布流 Developer Gitlab Jenkins 提测 预发布 Nexus Maven Build 冒烟测试
tag/发版 单元测试 自动回归 灰度/上线 Sonrqube
31
交流时间
Similar presentations