文档章节

Jekins

miaojiangmin
 miaojiangmin
发布于 2017/08/24 11:59
字数 684
阅读 20
收藏 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 启动中"


© 著作权归作者所有

共有 人打赏支持
miaojiangmin
粉丝 10
博文 426
码字总数 103899
作品 0
宁波
程序员
私信 提问
jekins如何构建混淆war包

最近考虑到打包安全问题,请问jekins是否有对war包混淆的插件呢?

wangxm001
2016/02/26
792
4
持续集成和docker

现在的持续集成,因为docker技术的成熟,有了长足的进步。 记得我在以前的公司的时候,测试环境还有生产环境的发布都需要组长来发布。有时候,他忙的话,发布就会延后,特别是测试环节,直接...

miaojiangmin
2016/11/07
24
0
Name for argument type [java.lang.String] not avai

项目通过MyEclipe部署到Tomcat运行一切OK 使用Jekins,Ant进行管理,部署也OK,但是访问项目时就出现: Name for argument type [java.lang.String] not available, and parameter name informa...

木子丰
2015/05/14
0
0
运维常用工具

1、linux系统基础,常用命令 2、监控工具 cacti,nagios,zibbix ,nagios 3、shell脚本 4、docker 环境迁移,快速部署 5、jekins 持续集成,部署...

大道至精
2016/12/09
51
0
spring-boot项目的docker集成化部署

spring-boot项目的docker集成化部署 [toc] 前言 据说流行的微服务和docker一起,更配哦!接下来,使用简单spring-boot项目演示docker的集成化部署的案例,在看过微笑的博客觉得不过瘾,自己动...

weir_will
2018/10/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何限制用户仅通过HTTPS方式访问OSS?

一、当前存在的问题 当前OSS支持用户使用HTTPS/HTTP协议访问Bucket。但由于HTTP存在安全漏洞。大型企业客户都要求使用HTTPS方式访问OSS,并且拒绝HTTP访问请求。 目前OSS可以通过RAM policy方...

阿里云官方博客
9分钟前
0
0
详解深度学习之经典网络架构——LeNet

一、基本简介 LeNet-5出自论文Gradient-Based Learning Applied to Document Recognition,是一种用于手写体字符识别的非常高效的卷积神经网络。 二、LeNet网络的基本结构 LeNet5 这个网络虽...

AI女神
13分钟前
0
0
日志服务Python消费组实战(二):实时分发数据

场景目标 使用日志服务的Web-tracking、logtail(文件极简)、syslog等收集上来的日志经常存在各种各样的格式,我们需要针对特定的日志(例如topic)进行一定的分发到特定的logstore中处理和...

阿里云云栖社区
13分钟前
1
0
LVM 增加磁盘扩容

sudo parted /dev/sdeparted> mklabel gptparted> mkpart primary lvm ext4 %0 %100parted> printsudo lvmlvm> pvcreate /dev/sde1lvm> vgextend vg-data /dev/sde1lvm> lve......

仪山湖
17分钟前
0
0
Linux挂载本地iso镜像,不联网使用yum命令

上传iso镜像文件到/mnt 目录下 在/mnt目录下创建Server目录 mkdir Server 备份 /etc/yum.repos.d/目录下的repo文件 cd /etc/yum.repos.dmkdir repobakmv *.repo repobak/ 挂载本地iso文件...

AustinYe
18分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部