jenkins自动化部署

电子说

1.2w人已加入

描述

事例说明:在linux环境下,安装的jenkins,集成svn,项目是maven项目 Jenkins配置

在Jenkins首页,点击Manage Jenkins,然后点击Manage Plugins插件管理,安装必要的插件,svn,maven,ssh等

jenkins

然后Jenkins首页,点击Manage Jenkins,然后点击Global Tool Configuration工具配置,配置JDK,Maven等

 jenkins

jenkins

Jenkins使用

第一步:在首页新建一个任务,然后填入任务名,选择自由风格的项目

 jenkins
jenkins

第二步,项目名称,可不做修改

 jenkins

第三步:添加svn地址,并设定好,用户名和密码

第四步:构建时,有三种情况

情况一,使用maven进行项目的构建,使用插件发布

 jenkins

第四步:构建时,有两种情况,建议使用第三者,本人亲测

情况一,使用maven进行项目的构建,使用插件发布

 jenkins

构建后操作,使用插件发布项目,进行项目的发布,项目发布需要使用的插件是(Deploy to container Plugin),发布到tomcat中,需要用到tomcat的用户名和密码,tomcat用户可以自己在tomcat中的conf/tomcat-users.xml文件中配置

 jenkins

tomcat-users.xml配置

 jenkins

情况二,使用shell命令进行项目的构建,然后直接用命令进行发布,执行tomcat启动的时候,需要加入命令export BUILD_ID=dontKillMe

 jenkins

jenkins构建输出结果

 jenkins

情况三,使用shell命令进行项目的构建,然后直接用命令进行发布,执行tomcat启动的时候,需要加入命令export BUILD_ID=dontKillMe

 jenkins

脚本源码:

export BUILD_ID=dontKillMe

rm -rf /alidata/ejoined/server/apache-tomcat-8365/webapps/ROOT

cp -R /var/lib/jenkins/workspace/adsl-taobao-admin/target/ROOT.war /alidata/ejoined/server/apache-tomcat-8365/webapps/

tomcatpath=“/alidata/ejoined/server/apache-tomcat-8365”

pid=$(ps -ef | grep java | grep ${tomcatpath} | awk ‘{print $2}’)

kill -9 $pid

rm -rf ${tomcatpath}/work/Catalina/localhost/*

sleep 1

${tomcatpath}/bin/startup.sh

以上完成;

但是会有一些异常;如下:

 jenkins

如上图所示:编译成功,但无论怎样执行脚本都提示没有权限(Permission denied),

这么问题本人费时一天终于搞定了。怎样解决那?

下面开始,从问题上分析,可以看出是用的当前jenkins用户在宿主Linux服务器上配置的默认用户名权限不对,

问题就在这里,

下面开始讲解解决步骤:

1.首先查看你要使用脚本运行的脚本指向哪里,本文中情况三中脚本指向的目标文件或者目录是(/alidata/ejoined/server/apache-tomcat-8365),这个文件下的所有东西,要看所指向的目录上的可执行的用户,如下图:

 jenkins

从图中可看出,可执行的用户是root,

脚本指向的目标文件或者目录的一定要有可执行的权限;

修改权限命令:chmod -R 755 目标目录名称

2.知道脚本所指向的目录或者文件所指向的用户了,那么接下来就好解决了,

如何修改运行jenkins进程的linux帐号?

1、找的jenkins的配置文件,一般是/etc/sysconfig/jenkins

2、修改下面的参数为相应的用户,比如JENKINS_USER=“root”

## Type: string

## Default: “jenkins”

## ServiceRestart: jenkins

#

# Unix user account that runs the Jenkins daemon

# Be careful when you change this, as you need to update

# permissions of $JENKINS_HOME and /var/log/jenkins.

#

JENKINS_USER=“jenkins”

3、重启jenkins:service jenkins restart

打开浏览器输入地址,重新从第一个项目的编译开始,接下来你就发现成功了。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分