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

    文章

    33

    浏览量

    5344
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

    云平台的自动化部署设计与实现

    基于简化部署操作、节省部署时间、提高部署效率的目的,对云平台架构和网络拓扑进行设计,对云平台自动化系统的需求进行分析,重点对自动化
    发表于 02-23 10:07 ?0次下载
    云平台的<b class='flag-5'>自动化</b><b class='flag-5'>部署</b>设计与实现

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

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

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

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

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

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

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

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

    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 ?2635次阅读
    <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 ?5966次阅读
    基于<b class='flag-5'>Jenkins</b>+GitLab+Maven实现代码<b class='flag-5'>自动</b>打包编译发布

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

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

    Flexus X 实例 Docker+Jenkins+gitee 实现 CICD 自动化部署 - 解放你的双手~

    前言 828 B2B 企业节特惠来袭,Flexus X 实例引领自动化部署新纪元!Docker 携手 Jenkins 与 Gitee,共创 CICD 无限可能!在快速迭代的数字时代,我们自豪地推出
    的头像 发表于 12-26 18:19 ?509次阅读
    Flexus X 实例 Docker+<b class='flag-5'>Jenkins</b>+gitee 实现 CICD <b class='flag-5'>自动化</b><b class='flag-5'>部署</b> - 解放你的双手~

    Jenkins 与 SonarQube 集成部署自动化代码质量监控

    的性能表现,为 Jenkins 与 SonarQube 的集成部署提供强大支撑。在 Flexus X 的助力下,自动化代码扫描与质量问题即时反馈成为可能,显著提升团队开发效率与软件质量。立即体验华为云
    的头像 发表于 01-07 17:24 ?749次阅读
    <b class='flag-5'>Jenkins</b> 与 SonarQube 集成<b class='flag-5'>部署</b>,<b class='flag-5'>自动化</b>代码质量监控

    基于 Docker 与 Jenkins 实现自动化部署

    前言 重塑自动化部署新高度,Docker 携手 Jenkins,在华为云 Flexus X 云服务器的加持下,引领持续集成与部署的新纪元。Flexus X 以其卓越的性能、灵活的资源配
    的头像 发表于 01-07 17:25 ?555次阅读
    基于 Docker 与 <b class='flag-5'>Jenkins</b> 实现<b class='flag-5'>自动化</b><b class='flag-5'>部署</b>

    一文掌握Jenkins自动化部署

    Jenkins自动化部署是现代软件开发中不可或缺的一部分,它不仅简化了代码的发布过程,还为整个团队带来了无与伦比的效率和协作力。想象一下,开发者们可以专注于编写高质量的代码,而不是为繁琐的手动
    的头像 发表于 04-23 10:50 ?2278次阅读
    一文掌握<b class='flag-5'>Jenkins</b><b class='flag-5'>自动化</b><b class='flag-5'>部署</b>