阅读 70

jenkins简单使用,jenkins自动化集群部署

最近在实习中接触了jenkins这个东西,所以花了点时间理解了。 这是在github、gitee、gitlab等代码上传仓库之后,通过jenkins获取代码仓库中的最新代码,从而省略了手动打包、服务器上传和部署的一系列步骤

以下教程分为以下几个部分:

一.在你的本地电脑或linux服务器上下载安装jenkins: jenkins下载地址: https://jenkins.io/下载网站的war包版本就可以了

下载后,展开到tomcat中运行。 放在tomcat的webapps目录中,启动tomcat。 (在windows上运行startup.bat或在linux上运行shstartup.sh。 )通过浏览器进行访问,例如通过电脑进行访问。 ) LocalHost3333333启动后的接口如下:

然后,将里面的文本复制到提示的文件中,填写管理员密码。

如果下一次在本地计算机上跑步,则jenkins的实例似乎是脱机显示的。 因为如果显示,则本地https不可访问。 在浏览器中打开另一个界面http://localhost :8080/plugin manager/advanced,将升级站点url的https更改为http,然后保存更新。 然后关闭tomcat服务器并重新启动,就可以连接网络了。

然后选择并安装推荐的插件。 这需要时间。 最后,我们建议您在系统管理中添加两个插件,可以在其中安装插件。

1、Rebuilder

2、安全重置

二、在linux服务器上安装git,maven,创建jenkens目录,将git的公钥设置为你的github。 这些步骤是使用jenkins的前提。 安装git的目的是在自动化部署之前,从git远程仓库中实时获取最新的代码。 在linux (我使用的是centos系统)上安装git :

yum install git生成密钥:

sh-keygen-trsa-c ' your email @ ABC.com '可以不设定钥匙密码直接按三次回车。 将主目录中生成的公钥内容复制到github或其他仓库。

安装maven的目的是使用项目中的pom.xml文件自动解决项目依赖关系并生成项目。 在linux上,从wget下载链接下载maven的zip包并解压缩即可。 设置maven环境变量:

vim/etc/profile//export maven _ home=/root/maven3.4.5export path=$ maven _ home/axd sb 3360 $ path

三.在Jenkins中注册Linux服务器1、打开服务器上的ssh服务。 可以通过netstat -anp | grep :22命令确认是否打开

2、测试一下如何在jenkins上操作远程服务器

在jenkins中选择“系统管理——”新节点

其中,远程工作目录是在Linux上创建的jenkins目录。 将远程用户添加到Credentials中,然后输入并保存远程计算机的用户名和密码。

单击TestEnv启动代理。

要在全局工具配置中配置git命令,请执行以下操作:

3、部署流程自动化原理:

必须编写shell脚本才能执行此过程。

创建Jenkins任务的具体步骤如下

创建jenkins任务

2 .填写服务器信息

3 .设置git参数

4 .填写内部版本(shell脚本),实现自动部署。

四.编写自动部署任务1,编写shell部署脚本deploy.sh,放在linux服务器的jenkins目录下,在该目录下通过touch deploy.sh编写脚本,下面的脚本脚本中的my-scrum是我自动构建的

#! /usr/axdsb/env bash#编译部署项目站点#必须配置以下参数#项目路径,并在Execute Shell中配置项目路径: pwd是此项目路径# export PROJ_PATH=此jenkins任务在部署计算机上的路径#您环境中tomcat的完整路径# export TOMCAT_APP_PATH=tomcat在部署计算机上的grep Tomcat|grep Java|awk ' { print $2} ` # echo ' Tomcat idlist 3360 $ PID ' # if [ ' $ PID '=' ' ] # then #

id #fi #上面注释的或者下面的 cd $TOMCAT_APP_PATH/axdsb sh shutdown.sh}cd $PROJ_PATH/my-scrummvn clean install# 停tomcatkillTomcat# 删除原有工程rm -rf $TOMCAT_APP_PATH/webapps/ROOTrm -f $TOMCAT_APP_PATH/webapps/ROOT.warrm -f $TOMCAT_APP_PATH/webapps/my-scrum.war# 复制新的工程到tomcat上cp $PROJ_PATH/scrum/target/order.war $TOMCAT_APP_PATH/webapps/cd $TOMCAT_APP_PATH/webapps/mv my-scrum.war ROOT.war# 启动Tomcatcd $TOMCAT_APP_PATH/sh axdsb/startup.sh

2、在jenkins上点击新建一个任务,填好任务名,填写运行的节点(上文中新建节点时创建的):


3、点击源码管理,填写github(或gitlab等)地址:


4、点击add,选择check out to a sub-directory ,添加源码下载到jenkins目录下的指定目录(可以命名为你的项目名):


5、填写构建任务时的shell脚本,然后保存,点击立即构建完成自动构建。(这里有一个坑,一定要给tomcat下所有sh文件加上x权限才能启动tomcat成功,具体为在tomcat目录上层执行chmod a+x  -R tomcat目录或者在tomcat的axdsb目录下执行chmod +x *.sh)

#当jenkins进程结束后新开的tomcat进程不被杀死BUILD_ID=DONTKILLME#加载变量. /etc/profile#配置运行参数#PROJ_PATH为设置的jenkins目录的执行任务目录export PROJ_PATH=`pwd`#配置tomcat所在目录export TOMCAT_APP_PATH=/root/tomcats/tomcat-my-scrum#执行写好的自动化部署脚本sh /root/jenkins/deploy.sh


6、自动化构建成功:


7、后续代码如果有改动,只要push到github或者gitlab等上,在jenkins界面中再次执行构建任务就可以了,非常方便,自动化部署,再也不用手动上传项目到服务器了。

五、解决一个tomcat关闭,所有tomcat都被关闭了的问题(如果你的jenkins也是安装的服务器上的其中一个tomcat中,就可能被莫名杀掉)

       这是因为所有的tomcat的关闭脚本(shutdown.sh或者说catalina.sh)都默认监听的是8005端口。只要进去tomcat目录下的conf目录下的server.xml文件中,将

<Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> <!-- Security listener. Documentation at /docs/config/listeners.html <Listener className="org.apache.catalina.security.SecurityListener" /> -->

中的8005端口改为不同的端口,就不会一个tomcat关闭,所有的tomcat都被关闭了

六、以后可以在linux服务器中安装多个tomcat,来部署不同的项目,分别使用不同的端口,如我喜欢用8081,8082,8083等端口来解决多个tomcat端口冲突问题(在tomcat的conf目录下的server.xml中修改即可,默认为8080)。然后可以用jenkins来管理这些tomcat的自动化部署啦。 七、谢谢阅读,欢迎交流!


文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐