Jekins
Jekins
miaojiangmin 发表于9个月前
Jekins
  • 发表于 9个月前
  • 阅读 14
  • 收藏 0
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

因为git的证书问题搞定了,今天在公司的台式机上搭建了一下Jekins服务器。 开始因为忘记了密码的问题,百度了一下重置了密码。

打开忘记密码的用户文件夹,里面就一个文件config.xml。嗯,就是它了。打开config.xml,里面有一堆的东西,找找。。。找到了<passwordHash>节点,如图:

把<passwordHash>节点的内容(图中黑色的那一串)换成

#jbcrypt:$2a$10$DdaWzN64JgUtLdvxWIflcuQu2fgrrMSAMabF5TSrGK5nXitqK9ZMS

现在只是能够自动拉取代码,能够用maven 的clean install。我想要做的是,对不同模块,可以自动把编译后的结果复制到服务器中,然后把老jar或war包进行复制,停止服务,替换jar或war包,重启服务。 如果能先达到这种效果,也是非常不错的。 后面可以用docker的方式进行打包和部署,这样可以明显提高部署的效率。降低开发成本。

本来还想用多构建项目,可以实现不同项目间的变换。但是测试了一下还是失败了。

一篇文章中介绍构建成功后的动作,添加shell

#!/bin/bash  
#copy file and restart tomcat

tomcat_path=/usr/local/tomcat2

project=easy-springmvc-maven

war_name=easy-springmvc-maven.war

war_path=http://192.168.106.128:8080/jenkins/job/jeekins-test/ws/target

server_port=8082

file_path=/home/bingyue/.jenkins/jobs/jeekins-test/workspace/target

now=$(date +"%Y%m%d%H%M%S")

echo "the shell execute time is ${now}"

echo `lsof -n -P -t -i :${server_port}`

tomcat_pid=`lsof -n -P -t -i :${server_port}`

echo "the tomcat_pid is ${tomcat_pid}"

if [ "${tomcat_pid}" != "" ]; then

kill -9 $tomcat_pid

echo "kill the server"

fi

echo "rm ${tomcat_path}/webapps/${war_name}"

rm ${tomcat_path}/webapps/${war_name}

echo "rm -rf ${tomcat_path}/webapps/${project}"

rm -rf ${tomcat_path}/webapps/${project}

cd $file_path

if [ -f ${war_name} ]; then

cp ${war_name} ${tomcat_path}/webapps

else

echo "${war_name} unexists"

fi

export JAVA_HOME=/data/jdk7

export CATALINA_HOME2=/usr/local/apache-tomcat-2

export CATALINA_BASE2=/usr/local/apache-tomcat-2

$tomcat_path/bin/startup.sh

echo "server restarted"



如果jekins部署到服务器中的话,这个非常具有借鉴意义。 参考的文章 转:使用Jenkins配置Git+Maven的自动化构建

刚刚配置好了,在window的环境下可以把本地编译好的war包发布到服务器上,并且可以运行脚本。

也就是说以后发布的话,只要配置好了,就可以使之自动化了。开心。。。

下面是我自己写的shell脚本文件

#!/bin/bash
#copy file and restart tomcat


tomcat_path=/usr/local/tomcat/sys-8081

project=sys

war_name=sys.war

war_path=/home/centos/war/

server_port=8081

now=$(date +"%Y%m%d%H%M%S")

echo "the shell execute time is ${now}"



echo `lsof -n -P -t -i :${server_port}`

tomcat_pid=`lsof -n -P -t -i :${server_port}`

echo "the tomcat_pid is ${tomcat_pid}"

if [ "${tomcat_pid}" != "" ]; then

kill -9 $tomcat_pid

echo "kill the server"

fi

#先备份,再删除

echo "备份war包"

cp ${tomcat_path}/webapps/${war_name} ${tomcat_path}/webapps/${war_name}${now}

#删除原来的war包
echo "删除war包"

rm ${tomcat_path}/webapps/${war_name}

rm -rf ${tomcat_path}/webapps/${project}


cd $war_path

if [ -f ${war_name}  ]; then

cp ${war_name} ${tomcat_path}/webapps

else

echo "${war_name} 不存在"

fi


$tomcat_path/bin/startup.sh

echo "server 启动中"


标签: jekins
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 9
博文 283
码字总数 73338
×
miaojiangmin
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: