0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

jenkins自动化部署

lhl545545 来源:电子发烧友网 2018-02-06 11:27 次阅读

事例说明:在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

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

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

    关注

    0

    文章

    25

    浏览量

    5110
收藏 人收藏

    评论

    相关推荐

    七个步骤实现自动化测试

    本文介绍自动化测试的 7 个步骤:改进自动化测试过程,定义需求,验证概念,支持产品的可测试性,具有可延续性的设计( design for sustainability ),有计划的部署和面对成功的挑战。按照以上 7 个步骤,安排
    发表于 07-18 07:42

    七个步骤完成自动化测试

    ),有计划的部署和面对成功的挑战。按照以上 7 个步骤,安排你的人员、工具和制定你的自动化测试项目计划,你将会通往一条成功之路。
    发表于 07-19 06:12

    如何搭建DotNet Core 21自动化构建和部署环境

    边缘搭建DotNet Core 21 自动化构建和部署环境(上)
    发表于 04-23 14:53

    Jenkins远程部署Linux服务器的过程

    1、Jenkins远程部署Linux服务器  之前在Jenkins上也有一些使用经验了,但是都是使用团队配置好的Jenkins,自己只需要管自己的项目以及执行构建即可,这一次自己尝试了
    发表于 11-18 18:12

    jenkins有什么用_jenkins如何自动部署

    Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。
    发表于 12-20 19:06 3.6w次阅读
    <b class='flag-5'>jenkins</b>有什么用_<b class='flag-5'>jenkins</b>如何<b class='flag-5'>自动</b><b class='flag-5'>部署</b>

    Jenkins+docker+springboot一键自动部署项目

    本文章实现最简单全面的Jenkins+docker+springboot 一键自动部署项目,步骤齐全,少走坑路。
    的头像 发表于 09-14 09:30 1327次阅读

    Jenkins+Docker一键自动化部署SpringBoot最简流程

    简述实现步骤:在docker安装jenkins,配置jenkins基本信息,利用Dockerfile和shell脚本实现项目自动拉取打包并运行。
    的头像 发表于 11-23 10:16 1069次阅读

    Jenkins+Docker一键自动化部署SpringBoot项目

    本文章实现最简单全面的Jenkins+docker+springboot 一键自动部署项目,步骤齐全,少走坑路。
    的头像 发表于 12-14 10:04 596次阅读

    Jenkins+Docker实现一键自动化部署项目!

    本文章实现最简单全面的Jenkins+docker+springboot 一键自动部署项目,步骤齐全,少走坑路。
    的头像 发表于 01-06 15:36 924次阅读

    部署Jenkins服务时如何保障服务的高可用性呢?

    现在的企业很多都在用Jenkins做持续集成,各个业务端都依靠Jenkins,vivo Devops也是使用Jenkins来进行持续构建,部署Jen
    的头像 发表于 02-14 17:02 2451次阅读

    关于Jenkins+docker+springboot一键自动部署项目

    本文章实现最简单全面的Jenkins+docker+springboot 一键自动部署项目,步骤齐全,少走坑路。
    的头像 发表于 05-16 08:59 597次阅读
    关于<b class='flag-5'>Jenkins</b>+docker+springboot一键<b class='flag-5'>自动</b><b class='flag-5'>部署</b>项目

    Jenkins部署启动案例

    电子发烧友网站提供《Jenkins部署启动案例.zip》资料免费下载
    发表于 06-15 14:53 0次下载
    <b class='flag-5'>Jenkins</b><b class='flag-5'>部署</b>启动案例

    Jenkins+Docker一键自动化部署SpringBoot应用最精简流程

    简述实现步骤:在docker安装jenkins,配置jenkins基本信息,利用Dockerfile和shell脚本实现项目自动拉取打包并运行。
    的头像 发表于 11-06 16:27 575次阅读
    <b class='flag-5'>Jenkins</b>+Docker一键<b class='flag-5'>自动化</b><b class='flag-5'>部署</b>SpringBoot应用最精简流程

    基于Jenkins+GitLab+Maven实现代码自动打包编译发布

    Jenkins是一个独立开源的持续集成和持续交付工具,用于自动化构建、测试和部署软件项目。
    的头像 发表于 11-20 09:57 1392次阅读
    基于<b class='flag-5'>Jenkins</b>+GitLab+Maven实现代码<b class='flag-5'>自动</b>打包编译发布

    使用Jenkins和单个模板部署多个Kubernetes组件

    在持续集成和部署中,我们通常需要部署多个实例或组件到Kubernetes集群中。通过Jenkins的管道脚本,我们可以自动化这个过程。在本文中,我将演示如何使用
    的头像 发表于 01-02 11:40 267次阅读
    使用<b class='flag-5'>Jenkins</b>和单个模板<b class='flag-5'>部署</b>多个Kubernetes组件