Jenkins总结1-部署jenkins
1. 介绍
jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译、打包、分发部署。jenkins可以很好的支持各种语言(比如:java, c#, php等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接集成。
jenkins官网地址为 http://jenkins-ci.org/,jenkins本身是用java语言开发的,所以安装jenkins的机器至少要有jdk,另外建议git、ant、maven、gradle、groovy等工具也一并安装好,方便与这些构建工具集成。
2. 安装和启动
Jenkins因为下载的是war包,对操作系统并没有要求的。我用的是Linux的CentOS版本。
直接从http://mirrors.jenkins-ci.org/war/latest/jenkins.war 下载最新的war包,然后解压到某个固定目录就算安装完成了,非常方便。
启动方法: java -jar jenkins.war 即可,如果要以后台进程的方式启动,改成nohup java -jar jenkins.war --httpPort=8080 & 即可,--httpPort是指定端口,启动过程中,它会将war包解压到~/.jenkins目录下,并生成一些目录及配置文件,有兴趣的同学可以自己进入这个目录研究一下。
注意:因为jenkins的在构建项目时,需要占用很多硬盘空间,建议在/etc/profile 里配置JENKINS_HOME这个环境变量,jenkins的默认目录就从~/.jenkins换成了JENKINS_HOME的指定目录。
登录地址:http://127.0.0.1:8080/ (要改成自己部署服务器的IP和端口)
3. 管理员登录
默认管理员用户名admin,在第一次启动日志里会打印初始密码,本人这次部署打印的是:9b2bbcaf527f4e7e8a452984c5aec6fe
初始化页面时,需要你自己输入上面的管理员密码,然后提示你设置自己的密码。
问题:设置的初始密码错误
解决办法:在初始化页面,会提示jenkins的安装目录,windows10系统的安装目录是:C:\Users\myUser\.jenkins,linux的安装目录是/~/.jenkins,在安装目录下找到这个目录/secrets/initialAdminPassword,在这个文件夹的config.xml里记录的admin用户的信息,找到passwordHash字段,把内容改成#jbcrypt:$2a$10$DdaWzN64JgUtLdvxWIflcuQu2fgrrMSAMabF5TSrGK5nXitqK9ZMS,这样登录密码就是111111
或者按照这个朋友的方法,重新设置也可以:https://blog.csdn.net/galen2016/article/details/84648620
4. 初始化配置
4.1 安装插件
admin用户的登录之后就到了“新手入门”界面,选择“选择插件来安装”,
选择自己需要安装的插件,点击“安装”。
这一步是下载安装插件的过程, 这个过程根据服务器的网络情况时间不等,如果网络不好也可能很多插件根本安装不上,如下图:
我们直接继续,进入系统管理--》管理插件 页面
Jenkins插件下载页面:http://updates.jenkins-ci.org/download/plugins/ 我们搜到到自己需要的插件,点击进去下载最新版本。然后在“管理插件”页面的“高级”标签页,手动上传插件,重启Jenkins后生效。
4.2 全局工具配置
系统管理--》全局工具配置,在这里配置你项目需要的工具。一般别名指的是服务器里的环境变量,下一个是安装路径。
配置的工具都需要在jenkins服务器上提前安装,我安装git参考的是:https://blog.csdn.net/hdn_kb/article/details/90696500
5. 系统配置
系统配置有很多,我就讲主要的三个。
5.1 全局属性
在系统设置下面有个全局属性,可以根据需要设置全局的变量,可以在写jenkins脚本时使用。
5.2 邮件通知
邮件通知看个人需求,是配置jenkins自动发邮件参数。比如部署项目失败邮件通知等工作。
5.3 Publish over SSH
在公司的环境中,Jenkins服务器和应用服务器正常情况都不是同一台。所以服务器之间要使用SSH通信,首先要建立服务器之间的ssh免密登录。参考文章:Linux服务器配置SSH免密登录
参数说明:
Path to key:jenkins服务器上的私钥地址
Key:jenkins服务器的私钥内容。Path to key 和 Key只填写一个就行。
SSH Server是目标服务器的信息:
Name服务器别名;
Hostname服务器的IP;
Username登录用户名;
Remote Directory远程目录,是用于服务器之间传输文件的根目录。