jenkins 构建前执行shell_关于jenkins的shell构建问题

本文介绍了在jenkins中使用shell脚本来自动化构建项目时遇到的问题及解决方案。包括如何通过shell执行svn更新、maven编译、替换war包以及重启tomcat。同时,讨论了jenkins权限问题,如sudo权限、sudoers文件配置以及避免shell密码输入的方法。此外,还解决了maven默认jdk版本过低导致的编译错误,通过在pom.xml中指定jdk版本来解决问题。
摘要由CSDN通过智能技术生成

为了持续集成自动化构建在服务器上采用了jenkins

构建时采用了执行shell的方式【明明有一个maven的选项貌似可以更方便的样子然而并不会用(摊手状呐喊:大神带带我

​由于项目采用了maven以及使用svn做版本控制【这两样是不是可以更简单的构建是不是可以不用写shell】

所以归根结底,shell要做的事情很简单

​0.svn更新项目

1.用maven编译项目​

​2.这里可以选择了,将编译出的项目替换或者拿war包处理,我用的war,所以删除webapps下原有的war以及原来解压出的项目文件

3.将编译出的war复制到webapps下

​4.重启tomcat

采用shell的时候要注意几点【也许不用shell就不用注意了

jenkins的权限问题和身份问题

比如无法su

jenkins,然后操作,所以脚本里一般先进行一次身份切换,也可以使用sudo来进行操作

​首先是svn

update的用户身份问题,之前以root身份进行了svn的检出等操作,账户密码在root身份下记录过就可以免输了,身份变化之后需要重新设置,比如用jenkins就需要再次输入密码和身份,sudo采用root身份也可以免输了。

其次就是sudo的问题,【selinux似乎不允许没有在sudoers文件里的用户进行sudo,这样操作属于违规会被报告,出现此类提示可以将用户加入sudoers文件】,这样的操作会要求输入jenkins的密码,【关于shell的密码等待输入问题头疼了很久很久从未解决过,然而sudo可以从标准输入流读取密码】,​采用echo

'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值