持续集成框架jenkins介绍01-简易安装
来源:互联网 发布:mac的word文档在哪里 编辑:程序博客网 时间:2024/05/29 04:26
一。Jenkins介绍
持续集成是一个开发的实践,需要开发人员定期集成代码到共享存储库(git svn) jenkins定义任务从共享仓库定时抓取 或者用户手工触发抓取仓储库 源码 自动构建到可运行环境
二。 安装Jenkins
1》 安装环境
操作系统:centos7
jenkins官网 https://jenkins.io/
jenkins是一个webui程序 下载对应war包即可 下载地址
https://jenkins.io/download 点击最下方的
Generic Java package (.war)
2》安装运行环境
安装jdk 省略
安装tomcat yum -y install tomcat 安装目录是/usr/share/tomcat
3》安装过程
将 war包丢入 /usr/share/tomcat/webapps目录
启动 tomcat service tomcat start
使用浏览器访问 http://192.168.58.150:8080/jenkins
出现解锁 jenkins的界面
要求你输入一个密码 并且上面文字告诉你 该密码 在
/usr/share/tomcat/.jenkins/secrets/initialAdminPasswordlinux下查看该文件
[root@node3 tomcat]# more /usr/share/tomcat/.jenkins/secrets/initialAdminPassword8c98247b3e9044e9b2a531a4ff689ef9
查询到了32位的密码 输入
接下来 定制 jenkins
选择第一项 安装建议的插件 联网下载插件
等待所有插件 安装完成(需要一定时间)
所有插件安装在 tomcat根目录\.jenkins\plugins目录下
接下来 创建你的用户
输入用户名和两次密码(全名和电子邮件随便输入 不输入会卡住)点击Save and Finish
成功界面 点击 start using jenkins
三 。用户管理
Jenkins下默认的管理员是admin如果界面上添加了你的首个用户 新用户将替代admin
查找 tomcat根目录\.jenkins\users\目录下 就是用户名的目录 比如我新建了一个账号liaomin789
该目录下就有一个目录 liaomin789我新建一个账户就可以拷贝一个该文件夹
比如 cp -r liaomin789 jiaozi789 就可以使用jiaozi789作为用户名liaomin789的密码登录发现也可以登录
如果需要修改密码 进入jiaozi789目录 下有个config.xml查看该文件 发现这样几行
hudson.security.HudsonPrivateSecurityRealm_-Details> <passwordHash>#jbcrypt:$2a$10$PxRfxmGqodLR.5xyPUvNruMdIqniKkHXOGkZnwK08FNgOqEEDxHwK</passwordHash></hudson.security.HudsonPrivateSecurityRealm_-Details>
passwordHash是加密的 加密使用的是jbcrypt 前缀网上搜索该算法
点击第一条记录进入官网 下载源码
解压 发现只有一个源文件(BCrypt.java) 拷贝到eclipse项目中 添加一个测试类
Test代码拷贝官网 修改测试一下
package org.mindrot.jbcrypt;public class Test {public static void main(String[] args) {//原始密码String password="123456";// 加密String hashed = BCrypt.hashpw(password, BCrypt.gensalt());//判断原始字符串和加密后的串匹配则验证通过if (BCrypt.checkpw(password, hashed))System.out.println("验证通过");elseSystem.out.println("验证失败");}}其实也到这里 应该最终生成的密码也就是这个 hashed加上那个前缀了 不过我还是得分析到底 找半天官网不知道源代码在哪
解压 jenkins。War找到web-infs/lib下的jenkins-core-2.73.2.jar(一般加解密都在core中吧) 反编译该jar(jdgui)导出所有源代码
Window目录 选项选择搜索文字内容
搜索关键字 jbcrypt
找到类后 重新到jdgui下查看该类 ctrl+shift+T输入刚刚搜索到的类名
该类上找到以下代码
private static final PasswordEncoder JBCRYPT_ENCODER = new PasswordEncoder() { public String encodePassword(String rawPass, Object _) throws DataAccessException { return BCrypt.hashpw(rawPass, BCrypt.gensalt()); } public boolean isPasswordValid(String encPass, String rawPass, Object _) throws DataAccessException { return BCrypt.checkpw(rawPass, encPass); } }; public static final PasswordEncoder PASSWORD_ENCODER = new PasswordEncoder() { private static final String JBCRYPT_HEADER = "#jbcrypt:"; public String encodePassword(String rawPass, Object salt) throws DataAccessException { return "#jbcrypt:" + HudsonPrivateSecurityRealm.JBCRYPT_ENCODER.encodePassword(rawPass, salt); } public boolean isPasswordValid(String encPass, String rawPass, Object salt) throws DataAccessException { if (encPass.startsWith("#jbcrypt:")) { return HudsonPrivateSecurityRealm.JBCRYPT_ENCODER.isPasswordValid(encPass.substring("#jbcrypt:".length()), rawPass, salt); } return HudsonPrivateSecurityRealm.CLASSIC.isPasswordValid(encPass, rawPass, salt); } };懂java的都看懂了吧
发现encodePassword方法加密实际上就是我之前的测试代码 加个前缀
"#jbcrypt:" + BCrypt.hashpw(password, BCrypt.gensalt())
修改我的测试类
package org.mindrot.jbcrypt;public class Test {public static void main(String[] args) {//原始密码String password="123456";// 加密String hashed = BCrypt.hashpw(password, BCrypt.gensalt());//输出正确密码System.out.println("#jbcrypt:" +hashed);//判断原始字符串和加密后的串匹配则验证通过if (BCrypt.checkpw(password, hashed))System.out.println("验证通过");elseSystem.out.println("验证失败");}}
运行 可以获取到123456的密码 比如我生成的是
#jbcrypt:$2a$10$5Qy7ZvyfNy5UgMs1rh2aoOgaqdpz83wRepky5qx7V52I16UWRhDyy
修改 tomcat根目录下/.jenkins/jiaozi789/config.xml
替换passwordHash内容
<passwordHash>#jbcrypt:$2a$10$5Qy7ZvyfNy5UgMs1rh2aoOgaqdpz83wRepky5qx7V52I16UWRhDyy</passwordHash>
重启tomcat service tomcat restart重新登录网页发现jiaozi789新建用户 使用密码 123456可以正常登录了
- 持续集成框架jenkins介绍01-简易安装
- 持续集成和Jenkins介绍
- CentOS 安装Jenkins持续集成
- 安装持续集成工具Jenkins
- 持续集成框架jenkins介绍02-持久集成git仓库+maven项目
- 持续集成:Jmeter+Maven+Jenkins自动化框架搭建(一):框架介绍
- gitlab+gerrit+jenkins持续集成框架
- 简单介绍Jenkins&持续集成
- 持续集成工具Jenkins(原Hudson)安装
- Jenkins持续集成安装、配置、简单使用
- Jenkins持续集成 -- 安装及配置
- 持续集成:Jenkins安装--基于Ubuntu16.04
- 持续集成:Jenkins安装--基于Ubuntu16.04
- Jenkins持续集成 安装及使用
- Ubuntu 16.04 安装Jenkins持续集成
- Centos7安装持续集成工具Jenkins
- 持续集成之Jenkins安装部署
- 持续集成 Jenkins(一)Ubuntu 安装 jenkins
- 将整数转为罗马数字
- 网关和路由,路由的分类,route命令
- 介绍一下Spring Cloud微服务分布式云架构集成项目有哪些?
- caffe 利用python绘制loss曲线以及accuracy曲线
- Spring的三种实例化bean方式
- 持续集成框架jenkins介绍01-简易安装
- 【双十一超大福利】微软Office365 买1年送1年!
- MongoDB安装与配置
- java.lang.class
- 编程之美:让CPU占用率曲线听你指挥
- tensorflow从1.0版本切换到1.3
- [arc081f]Flip and Rectangles
- Android Studio 查看FrameWork层源码(例如:PhoneWindow) android.jar
- android判断模拟器的三种方法