1.安装JDK
2.安装maven

  Linux安装配置Maven1)下载Mavenhttp://maven.apache.org/download.cgi2)在/usr/local下创建文件maven3)解压Maven 到 /usr/local/maven 文件夹4)修改Maven本地仓库地址 vim conf/setting.xml5)修改Maven远程仓库地址为阿里云 (下载快)6)vim 进入配置环境编辑  vim etc/profile export MAVEN_HOME=/usr/local/maven/apache-maven-3.5.0export PATH=${PATH}:${MAVEN_HOME}/bin7)查看Maven环境变量是否生效和安装 mvn -v echo $MAVEN_HOME

3.安装tomcat

1)在server.xml 配置utf-8编码<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" URIEncoding="UTF-8"/>    2)配置tomcat账号密码vim ../conf/tomcat-users.xml<role rolename="manager-gui"/><role rolename="manager-script"/><user username="tomcat" password="tomcat" roles="manager-gui,manager-script"/>3)修改/usr/local/apache-tomcat-9.0.0.M26/webapps/manager/META-INF  context.xml注释掉value标签4)在bin 启动tomcat ./startup.sh5)ip:端口 访问 点击页面的Manager App 输入配置好的账号tomcat 密码tomcat

4. 安装svn

Jenkins安装配置
Jenkins 下载地址https://updates.jenkins-ci.org/download/war/
将war部署在tomcat上启动tomcat
访问 http://ip:8080/jenkins/

account:admin
password:

1)解锁 Jenkinscat /usr/local/apache-tomcat-9.0.0.M26/webapps/secrets/initialAdminPassword获取密码 :e033f0340e844c3b9b5516fb18d1e77a908

登陆等待插件安装…

将镜像换为国内的镜像,操作步骤:

http://ip:8080/jenkins/pluginManager/advanced  升级站点URL:  https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json


配置svn提交自动化部署:(3大步 步骤1.构建项目 步骤2.构建完成配置sh文件自动运行 步骤3.配置否见触发器,用户提交svn自动触发前两步骤)
进入jenkins 构建一个maven项目

  • 1.项目描述
    2.丢弃旧的构建 保持构建的天数 10 保持构建的最大个数 10
    3.源码管理 选择svn Modules
    Repository URL :
    svn项目路径 eg: svn://ip/dhttest Credentials : 用户(svn账户)
    eg:duhuanteng/2019

4.构建触发器 触发远程构建 (例如,使用脚本)
Help for feature: 触发远程构建 (例如,使用脚本)
身份验证令牌 : 自定义
eg:123459876

后面要用这个密码----> (以下代码这里用不上)
curl -X post -v -uadmin:9ecdd32c634e0abdfdfd41aef4f674864dd(**jenkins的账号密码**)http://ip:8080/jenkins/job/dhttest/build?token=123459876

5.Build
Root POM: pom.xml //需要在svn的仓库找到项目的pom.xml
eg: pom.xml(这里根据svn路径 我的是svn://ip/dhttest/pom.xml)
Goals and options : clean install


6.Post Steps 选择Run only if build succeeds
配置完成之后直接去构建项目,测试项目是否能构建成功


7.构建成功后自动启动的配置
配置---->构建后操作
操作 选择Send build artifacts over SSH
Exec command :

OLD_BUILD_ID=$BUILD_ID
BUILD_ID=dontKillMe
bash /home/svn/dhttest/startup.sh
BUILD_ID=$OLD_BUILD_ID

bash 为svn sh 文件存放位置 自定义


上面操作完直接保存------>系统管理—>系统设置---->Publish over SSH
使用ssh 必须安装插件(Publish Over SSH Send build artifacts over SSH 1.20.1)
配置ssh
Passphrase :填写jenkins的密码
SSH Server
Name : centos_jy(eg: 随便起)
Hostname :12.345.67.89(ip)
Username : root(用户)
Remote Directory : /(根目录下)
Use password authentication, or use a different key 勾选上
Passphrase / Password: 填写服务器连接ssh密码:H…(连接服务器的密码)


//到svn 目录cd /home/svn/dhttest/
//创建startup.sh文件
以下为startup.sh配置

#path为jar的名字
#project为jar存放的绝对路径#path=dhttest-0.0.1-SNAPSHOT.jar
#project=/home/svn/dhttest/dhttest-0.0.1-SNAPSHOT.jarbasepath=/home/svn/dhttest/
path=dhttest-0.0.1-SNAPSHOT.jar
project=/home/svn/dhttest/dhttest-0.0.1-SNAPSHOT.jar
jenkinsworkspace=/usr/local/apache-tomcat-9.0.0.M26/webapps/workspace/dhttest/target/$path
endpath=$basepath
echo jar的全名 $path
echo jar启动路径 $project
echo 工作空间 $jenkinsworkspacesource /etc/profilepid=`ps -ef|grep $path |grep -v grep|awk '{print $2}'`echo 原来的进程 pid为 : $pidkill -9 $pid
echo 删除jar
echo /home/svn/dhttest/$path
rm -rf /home/svn/dhttest/$path
echo 将jar从jenkins的工作空间复制过来
cp $jenkinsworkspace $endpath
echo 启动jar
nohup java -jar $project  > nohup.log 2>&1 &
echo 返回启动的进程号
endpid=`ps -ef|grep $path |grep -v grep|awk '{print $2}'`echo 启动后的进程id为 $endpid

构建触发器:

cd
工作空间有可能在/usr/local/apache-tomcat-9.0.0.M26/webapps/workspace/dhttest

//以下操作为 post-commit文件—>授权(可执行命令权限)—>vim post-commit 添加( curl -X post -v -u admin:9ecdd32cd163dfd4e0ab41aef4f674864dd http://ip:8080/jenkins/job/dhttest/build?token=123459876
)命令

 cd /home/svn/dhttest/hooks/cp post-commit.tmpl post-commitchmod +x post-commitvim post-commit

将以下添加至 post-commit

 curl -X post -v -u admin:9ecdd32cd1634e0ab41adfdef4f674864dd (jenkins账号密码)http://12.345.67.89:8080/jenkins/job/dhttest/build?token=123459876

配置完成之后要记得开允许触发远程构建
在配置 ----->触发远程构建 (例如,使用脚本) Help for feature: 触发远程构建 (例如,使用脚本)
身份验证令牌 : 此处为构建触发器所用的token

jenkins配置svn提交一键自动部署相关推荐

  1. 5分钟快速掌握Jenkins,项目一键自动部署

    5分钟快速掌握Jenkins,项目一键自动部署 目录 前言 Jenkins是什么? Jenkins环境安装搭建 Jenkins基本使用介绍 Jenkins快速构建项目,项目自动化部署 学习总结 前言 ...

  2. 虚拟矿机服务器架设,Swarm Bzz个人矿机需要什么配置?Bzz节点一键自动部署工具...

    BZZ即将完成空投进入主网阶段,可以说现在就是bzz的头矿阶段!本文由实际经验总结,分享bzz币个人怎么配置才能尽快获得头矿!同时,附上bzz节点一键自动部署工具. Swarm白皮书中并没有提供的硬件 ...

  3. 一键部署oracle,一种Oracle单机一键自动部署方法与流程

    本发明涉及数据库安装技术领域,尤其涉及一种Oracle单机一键自动部署方法. 背景技术: Oracle Database,又名Oracle RDBMS,或简称Oracle,它是在数据库领域一直处于领先 ...

  4. 前端一键自动部署工具

    前端一键自动部署工具

  5. jenkins svn tomcat ant自动部署

      Jenkins Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:  1.持续的软件版本发布/测试项目.  2.监控外部调用执行的工作.  跟其他持续集成相比, ...

  6. 搭建Jenkins+springcloud一键自动部署

    用jenkins 实现项目自动部署笔记 1.目的 1.一键实现项目自动构建打包发布(用于生产环境) 2.实现代码提交到代码仓库立刻自动打包部署(用于测试环境) 3.本测试脚本代码在最后 2.操作环境 ...

  7. linux git hook,前端通过githook一键自动部署项目

    git hook 自动部署 本文章教大家,使用git hook来实现本地开发代码一行命令自动上传到远程服务器. 第一步创建空git仓库 终端进入你需要放项目的文件夹,可以通过ssh root@host ...

  8. Azure Stack-1807 版本 配置10分钟、自动部署6小时-我的ASDK第7次实践

    在写这篇博客的时候,我已经第六次部署Azure Stack 开发工具包(ASDK),原因也很简单:ASDK每月更新没法就地升级,需要推倒重来.毕竟这是一个测试和开发环境,可以在部署后用来评估和演示 A ...

  9. svn提交时自动设置 needs-lock

    设置后的效果:文件会自动带上svn:needs-lock属性,默认是只读的要签出才能修改以防止修改完后提交才发现冲突了.   只要两步:  第一步:新建文件时自动给文件设置强制只读属性(svn:nee ...

  10. IDEA插件: 一键自动部署jar到远程服务器 使用 Cloud Toolkit 来部署应用到腾讯云、阿里云服务器

    参考文档 https://cloud.tencent.com/developer/article/1458723 https://blog.csdn.net/qq_38288606/article/d ...

最新文章

  1. cocos2dx 场景的切换
  2. OpenCV AprilTags 识别
  3. Flink从入门到精通100篇(十五)-Flink SQL FileSystem Connector 分区提交与自定义小文件合并策略 ​
  4. Faster RCNN 训练自己的检测模型
  5. RabbitMQ之惰性队列(Lazy Queue)
  6. 通过ClassLoader调用外部jar包
  7. Android获取LAUNCHER,Android 获取Launcher 启动列表
  8. Windows平台RTMP|RTSP播放器实现画面全屏功能
  9. 终于有人把幸存者偏差讲明白了
  10. VB添加listbox 的水平卷动轴
  11. java里的stream,Java中的Stream
  12. 2017-08-16 BEX5下集成FullCalendar
  13. Awvs 12.x安装教程
  14. windows+cmd关闭伽卡他卡学生端
  15. Sphinx 自动化文档
  16. 关于SDN理解,老杨都放在这里了
  17. Camera2 开发问题记录
  18. 设计干货模板|孟菲斯风格促销海报让作品艺术加分!
  19. 分层数据流图简单介绍
  20. 数字电路 模拟电路 先学哪个_数字电路,模拟电路

热门文章

  1. HTML+css制作简单游戏界面
  2. 不同iPhone屏幕尺寸
  3. demo h5 touch 移动_移动端Touch事件与H5-Canvas像素点检测实现刮刮乐
  4. Kettle数据库连接中的集群与分片
  5. Android实现选择相册图片---类似微信的选择图片页面
  6. Linux控制Nvidia显卡风扇转速
  7. Flink(三十七)—— Flink 清理过期 Checkpoint 目录的正确姿势
  8. MEAN与LAMP:如何选择正确的技术堆栈
  9. 买哪种计算机可以弹奏,还能酱紫玩:网友用AMD撕裂者3990X的126个框框演奏音乐...
  10. LeetCode动态规划题解