腾讯云Linux服务器搭建(六) Jenkins的安装及配置

4 篇文章 0 订阅
4 篇文章 0 订阅

前面把Tomcat配置好了,并且把自己的应用发布到上面了,今天把Jenkins的安装以及自动发布的配置记录一下。

1,Jenkins的下载比较简单,可以选择for centos的rpm也可以选择war包。这里选择的是war包。

wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war

然后放到tomcat的webapps目录下,重新启动tomcat。

2,然后访问 http://域名/jenkins/,成功访问,然后创建用户,并把jenkins设置为只有登录用户才能进行管理。

     在全局安全配置里面选择 【项目矩阵授权策略】,并添加管理员用户,赋予所有权限。保存后用追加的管理员用户登录。

3,发现只有maven,没有deploy to container的插件。选择插件页进行安装。

选择deploy to container插件

4,然后开始创建一个自动从git上拉取代码,并发不到本机的tomcat上的任务。

Jenkins创建任务

Jenkins构建任务

Jenkins构建后操作

5,配置完成后进行一次构建,失败,想起来还没有安装maven。

java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:247)
at java.lang.ProcessImpl.start(ProcessImpl.java:134)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
Caused: java.io.IOException: Cannot run program "mvn" (in directory

6,下载,并配置maven,后还是失败,后来发现是需要把maven插件的默认指定成自己安装的路径/usr/local/maven3,解决。

wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz
tar zxf apache-maven-3.1.1-bin.tar.gz
mv apache-maven-3.1.1 /usr/local/maven3

vi /etc/profile
#在适当的位置添加 然后还需要 配置环境变量。
export M2_HOME=/usr/local/maven3
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
source /etc/profile

验证版本
mvn -v

7,构建成功后,在刚才的任务上追加触发器。选择轮询scm,如果自己检索到变更,就自动发布。

Jenkins构建触发器

到此为止,只要是自动提交代码到master分支,就会完成自动发布,每15分钟检查一次。

中间遇到的坑:

1,jenkins.war放到tomcat/webapps下面后,第一次追加用户后,再登陆时白屏。

    解决办法:修改/root/.jenkins/config.xml,找到 authorizationStrategy,替换为:

<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>

这样就任何用户可以做任何事(没有任何限制),重新启动tomcat后,再次登录后,把策略再改回来就可以了。

2,发布到tomcat时,要使用tomcat的管理员用户,如果当初设定的tomcat管理用户的话,默认用户是不能发布的。

 解决办法:先修改 /usr/local/tomcat/conf/tomcat-users.xml

<role rolename="manager-gui"/>

user username="tomcat" password="tomcat" roles="manager-gui"/>

然后管理画面还是打不开,修改

 /usr/local/tomcat/webapps/manager/META-INF/context.xml

改成:

<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
  allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache        (?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

这样管理画面可以打开了,但是发布还是失败。

修改:/usr/local/tomcat/conf/tomcat-users.xml

追加 manager-script role和admin-gui之后,发布成功。

 <role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,admin-gui,manager-script"/>

3,maven插件安装好,主机上maven也安装好,配置好环境变量,mvn -v也正常执行。

   但是使用jenkins的maven进行发布时还是出错,推测应该是tomcat启动用户的环境变量没正确设置,但是没有去验证。

   直接追加了主机的maven安装路径后,设置为安装的maven来替代默认的maven就可以了。

   

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gavin__Zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值