持续集成,自动测试,持续部署的超级引擎,支持自定义工具集,多种交互通道
安装依赖:yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel –y
rpm –ivh jenkins-2.32.3-1.1.noarch.rpm
Admin默认密码:/var/lib/jenkins/secrets/initialAdminPassword
卡启动:断网等待
systemctl start jenking
chkconfig jenkins on
系统设置 –》用户管理 修改密码
安装插件
存放插件路径:/var/lib/jenkins/plugins/
tar xf plugins.tar.gz -C plugins
systemctl restart Jenkins 解压完重启一下
chown Jenkins:Jenkins –R ./ 修改权限
更新那插件
下载插件https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/
http://updates.jenkins-ci.org/
下载完直接在高级上传更新
Jenkins配置
rpm -ql Jenkins
/etc/init.d/Jenkins 服务启动文件
/etc/logrotate.d/jenkins
/etc/sysconfig/Jenkins 配置文件
/usr/lib/jenkins
/usr/lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/Jenkins 程序代码
/var/lib/Jenkins 主目录
/var/log/Jenkins
vim /etc/sysconfig/jenkins
JENKINS_USER="root" 生成环境用 Jenkins 账户
systemctl restart Jenkins
备份:
tar xf zcf Jenkins.tar.gz /var/lib/Jenkins
做定时任务
系统管理 –>系统配置 -->执行者数量 5 –>用法 只允许绑定到这台机器job –》生成前等待时间 10 任务10秒后开始运行 àSCM签出重试次数 3 拉取git失败重试次数
Jenkins升级版本
systemctl stop Jenkins
cd /usr/lib/jenkins/
mv jenkins.war jenkins.war-2.32.3.war.bak
上传新版war包 jenkins.war
systemctl start Jenkins 启动,版本更新了
构建项目
新建 --》构建一个自由风格的软件项目 --》 选丢弃旧的构建 10 --》git配置 --》构建 --》Excute shell
gitlab拉下来的代码路径:/var/lib/jenkins/workspace/php
给上线的服务器建立免密连接
模拟发布
Execute shell
rsync -raz --delete --progress * root@192.168.81.20:/data/www/php 这条命令相当于在Jenkins服务器:/var/lib/jenkins/workspace/php这里执行
在点击立即构建 -->就是发布构建一次
发布maven
新建 --》java 1--》新建Maven项目
git parameter发布
远程管理
ssh remote插件
系统设置 --》 SSH remote hosts 添加主机
php任务-->配置 -->构建 --> 增加构建步骤 --》Execute shell script on remote host using ssh -->command t 相当在远程服务器执行远程服务器脚本或命令
定时发布
新建 --》clear_log -->构建一个自由风格的软件项目 --》构建触发器 --》Build perioddically (构建周期) --》点问号:帮助---》日程表:H/1 * * * * 每一分钟执行一次
--》构建 ---》增加构建 --》Execute shell --> echo $(date) >> /root/clear_log.txt
配置集群
系统设置 --》security安全设置 --》启用安全 端口 30000
系统设置 --》管理节点 ---》jenkins_node -->permanent agent
executors:5 执行器
远程工作目录:/data/jenkins -->只允许绑定这台机器的job -->Luanch slave agents via SSh ( 通过ssh来启动) -->window是就选 windows --> Host key Verification -->non Verifying -->添加节点的root账号和密码
在job配置项里选上 Restrict where this project can be run --》填上节点名
按角色授权:
需要有Role-based Authorization Strategy 插件
系统管理--》访问控制 --》授权策略 --》选上Role-Based Strategy (保存)
用户 ---》
系统设置--》管理用户 --》新建用户 --》用户java/密码java php/密码php
系统管理--》Manage and Assign Roles --》Manage Roles -->project roles Roles to add:java-team Pattern:java.*所有项目 java开头的都关联到java-team上来
系统管理--》Manage and Assign Roles --》Manage Roles -->project roles Roles to add:php-team Pattern:php.*所有项目 php开头的都关联到php-team上来
给的权限: build cancel configure create delete discover move read workspace delete replay update
系统管理--》Manage and Assign Roles --》Assign Roles分配角色 --> project roles-->输入java/php 勾上java-team/php-team
添加全局权限:
系统管理--》Manage and Assign Roles --》 global roles -->read角色--》分配:Overall全局只读Read权限 用于登录系统
系统管理--》Manage and Assign Roles --》Assign Roles分配角色 -->global roles 输入java/php 都勾上 read
系统管理--》Manage and Assign Roles --》 global roles -->newjob角色--》分配:Overall全局只读 Read权限 Job任务创建Create权限 用于创建job
系统管理--》Manage and Assign Roles --》Assign Roles分配角色 -->global roles 输入java/php 都勾上newjob