Jenkins:VMware虚拟机Linux系统的详细安装和使用教程
jenkins:VMware虚拟机Linux系统的详细安装和使用教程 (一)
不是windows安装虚拟机可跳过
1.Windows安装VMware
2.VMware安装linux系统
3.windows用putty或SecureCRT连接linux(不需要在window上操作linux命令的可跳到5)
在linux上查看ip:ifconfig 例如:inet addr:192.168.213.128
在window的cmd上ping该ip: ping 192.168.213.128
如果ping失败了进行下面的修改(成功忽略):
VMware Workstation: 在虚拟机设置中找到光驱CD,然后将右边“已连 接”、 “启动连接”的两个选框 均选中即可。
检验linux中有没有ssh:输入命令 service ssh 如果出现unrecongnzed service 则说明没有安装配置ssh,所以需要下载安装 :sudo apt-get install ssh (如果出现下 载失败的情况,可以输入命令:sudo apt-get update;sudo apt-get install ssh)
在VMware的菜单项中点击“编辑”-“虚拟网络编辑器”,选择类型为NAT模 式的VMnet8(一般名称是为VMnet8,以NAT模式为准)
点击“更改设置”,因为我的linux的ip为192.168.213.128,所以配置如下,
掩码都是255.255.255.0
设置如下:
window上的VMware8网卡设置,我的linux的ip:192.168.213.128
这时在window上再用putty或者SecureCRT连接linux ,一般不能用root管理员来连接,需要非root 账号连接成功后,再进行切换到root账号:su root ,一般能成功了,不成功自行了断吧。
4.从window复制文件到linux,用winscp连接linux,要用root管理员才有权限,但可能连接的时候出现拒绝连接,需要配置,linux命令:vi /etc/ssh/sshd_config
把 #PermitRootLogin without-password(注释掉),添加 PermitRootLogin yes
5.linux安装jdk,maven,Subversion(需要更多自行安装)
一般用命令apt-get xxx 或者yum xxx进行安装,可百度。
安装完后要配置环境vi /etc/profile,详细配置可百度。查找xxx的安装目录命令:
which xxx 贴上我的配置:
6.Linux安装tomcat,让jenkins在其服务上运行,简单化。
下载tomcat包linux命令(我的目录是/usr/tomcat):
wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz
下载完成进行解压:tar -zxvf apache-tomcat-8.5.24.tar.gz ,得到apache-tomcat-8.5.24
下载jenkins.war : wget http://mirrors.jenkins.io/war/latest/jenkins.war
把下载完的jenkins.war放进apache-tomcat-8.5.24/webapp
运行tomcat: apache-tomcat-8.5.24/bin/sh startup.sh ,这时webapp下会生成jenkins 文件夹。/root/.jenkins也生成.jenkins,以后打包成功,包就是放在这里面的子目录中
7.window在浏览器地址输入192.168.213.128:8080,可以对tomcat进行访问,再重新输入地址:192.168.213.128:8080/jenkins,访问到了jenkins,并对其进行安装。首次进入jenkins如要输入密码,密码位置:/root/.jenkins/secrets/initialAdminPassword,
选择第一个 install suggested plugins.然后创建你的用户名和密码,start using jenkins.(可忽略:本人第二天在登陆jenkins的时候出现,登陆信息错误,就是用户密码不正确,只能用admin登陆,密码位置:/root/.jenkins/secrets/initialAdminPassword,登陆进去发现安装时创建的账号不见了。然后进行如下设置:
在登陆界面进行自行注册账号。)
8.安装插件:如下图
我安装的插件如下:
Ant Plugin、Build Timeout、Deploy to container Plugin、Email Extension Plugin、
GitHub API Plugin、Gradle Plugin、LDAP Plugin、Maven Release Plugin-in Plugin-in、
PAM Authentication plugin、Pipeline、Pipeline: GitHub Groovy Libraries、
Publish Over SSH、SSH Slaves plugin、Subversion Plug-in、Timestamper、
Workspace Cleanup Plugin (这些插件根据自己的需要添加)
9.进行配置jdk、maven(由于本人只用到这两个就配两个),如下图:别名随便起,JAVA_HOME和MAVEN_HOME是linux对应的安装路径,命令:which java、which maven查找对应的目录
10.添加svn的凭证,如图:点击credentials -> system -> global credentials(unrestricted)
点击Add Credentials填入要用到的svn的账号和密码,其他如下图:
11.新建一个item:
任务名称随便取,如果是maven项目,选择第二个,确定
配置如下图:
Reposltory Url:svn的地址,Credentials:选择刚才第10步添加的Credentials。(点击后面Add进行填写会报错)
我的tomcat没设置密码,所以为空,
其他默认空白,点击保存应用。
12.在linux的/root/.jenkins/workspaca/HelloWorld的目录下,把maven项目的pom.xml文件放进去。
13.构建:点击如图的最右边的红色框那个光盘进行构建,在console output可以查看构建的详细信息和对应的报错信息。
14.如果构建成功,console output会显示很多下载信息,可查看linux目录下
/root/.jenkins/workspaca/HelloWorld,有对应的文件了,完。
关于Deploy war/ear to container配置的一篇博文:
在jenkins“系统管理”的“管理插件”中安装“Deploy to container Plugin”
修改Tomcat管理用户配置
Deploy to container Plugin需要通过属于manager-script组的Tomcat管理用户将war包发布到Tomcat服务器上,默认没有这样的用户,需要在TOMCAT_HOME/conf/tomcat-users.xml添加manager-script组和相应的用户,增加如下两行:
<role rolename="manager-script"/>
<user username="deploy" password="deploy123456" roles="manager-script"/>
注:配置好后需要重启Tomcat才能生效
在Jenkins中配置Job
在“构建后操作”中增加“Deploy war/ear to container”,配置如下图:
参数说明
WAR/EAR files
相对于工作空间的相对路径,也可以写“Ant-style GLOBs”表达式,如:**/*.war,“Ant-style GLOBs”暂时还没有弄明白是什么,经测试可以按如下形式写:source/target/*.war或source/target/yiqifa-adcenter-web.war,建议以“**/*.war”形式填写。
如本文中使用的Jenkins的工作空间为/data/jenkins,job名称为hyf-test-deploy-plugin,则这里的路径是相对/data/jenkins/hyf-test-deploy-plugin的(其中source是在job中指定的源码存放目录,视设置确定需不需要加上这个目录)
如果所有配置都正确,在Jenkins的控制台会看到如下图的提示:
其中“hyf-test-deploy-plugin”为Jenkins的job名称。
Context Path
应用在Tomcat中的部署路径,如上图,部署后可以通过http://172.16.18.192:8080/hyftest来访问部署的应用
Manager user name/Manager password
在“修改Tomcat管理用户配置”中配置好的用户名和密码
Tomcat Url
运程Tomcat的访问路径,如上图中的http://172.16.18.192:8080,插件通过这个地址将应用的war/ear包上传到Tomcat的webapps目录下
Add Container
在这里可以继续增加其他的容器,这样就可以实现将应用同时部署到不同的容器中。