Java Web项目在Linux服务器自动化部署续-整合Bamboo
前言
Java Web项目在Linux服务器自动化部署
在这一篇中, 完成的是一个自动化部署的脚本。
Atlassian Bamboo 是一款持续集成构建服务器软件(Build Server)
软件地址: https://www.atlassian.com/software/bamboo
我是在10年前就开始使用Bamboo了, 版本一直没有升级。
Bamboo本身集成的代码管控和Ant的功能, 通过配置就可以完成。
这里还是结合上一篇的脚本, 纳入到Bamboo中, 其实只是让Bamboo调用一下脚本。 或许使用Jenkins更合适 ^^
实现方式
首先说明一下,Bamboo是安装在另一台Linux的服务器, 和项目部署的服务器不在同一台。
所以要使用SSH登录到项目部署的服务器执行脚本。
在bamboo的机器中编写一个脚本实现SSH登录并执行脚本,然后在Bamboo的配置中使用Script的方式进行Build
关键问题
要实现SSH自动登录的话, 最便捷就是使用 Expect 了。
Expect是一个用来处理交互的命令。借助Expect,我们可以将交互过程写在一个脚本上,使之自动化完成。形象的说,ssh登录,ftp登录等都符合交互的定义。
我使用的bamboo脚本只能运行bash, 对于expect的运行不支持, 不知道新版是否直接可以。这样的话, 就需要做一次转化了, 通过.sh 调用 .exp
结论就是要写两个脚本, 一个 .sh; 一个.exp
脚本参考
autodeploy.sh
#!/bin/bash
cd /deploy/autodeploy/scripts
./autodeploy.exp
autodeploy.exp
#!/usr/bin/expect
set timeout -1
spawn ssh -t -t -o StrictHostKeyChecking=no root@yourIP
expect "*password:"
send "your password\r"
send "cd /usr/local/deploy\r"
send "./deploy.sh\r"
expect "*End Deploy Successful!"
send "exit 1\r"
说明:
1. -o StrictHostKeyChecking=no
如果不加的话, 每次ssh连接(或rsync)时就会有提示:The authenticity of host *** can’t be established ,需要输出一个“yes”的交互。
2. ssh -t -t
不加 -t -t 选项的话,当远程登录主机时出现Pseudo-terminal will not be allocated because stdin is not a terminal. 错误
3. 最后两句必须加上, 否则一直在ssh的登录窗口, bamboo 会一直处于运行状态。
Java Web项目在Linux服务器自动化部署续-整合Bamboo相关推荐
- Java Web项目在Linux服务器自动化部署
项目介绍 使用Spring+Hibernate开发的Java Web 项目, 在Perforce上做的代码控管, 部署到Linux(Redhat)下的Tomcat服务器上. 手动部署繁琐,如果涉及文件 ...
- Java web项目如何在服务器上跑起来(有源码)
Java web项目如何在服务器上跑起来(有源码) 要用到的工具有:myeclipse.宝塔,navicat premium.xshell. 概述:本博文主要是帮助入门级新手怎么从网上下载一个java ...
- Django项目在Linux服务器上部署和躺过的坑
引言 在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台.那么问题来了,既然要在服务器上部署, 就需要准备: 1.linux服务器配置 2.linux安装python环境搭建与配置 3. ...
- Java web项目创建笔记23 之《spring整合xxl-job》
xxl-job是一款功能强大的分布式任务调度系统. 部署方法按照官网写的说明即可:https://www.xuxueli.com/xxl-job/ 1.下载release版本代码 https://gi ...
- 使用eclipse开发Java Web项目(最最最基础)
本篇首先给出Tomcat 8.0的安装及验证过程,然后在eclipse中配置已安装成功的Tomcat服务器,最后新建一个Java web工程,并绑定已部署的Tomcat服务器,在工程中新建并运行JSP ...
- 云服务器 ECS 建站教程:手工部署Java Web项目
手工部署Java Web项目 Tomcat 一个开源的且免费的 Java Web 服务器,常用来作为 web 开发的工具.它可以托管由 servlet,JSP 页面(动态内容),HTML 页面,jav ...
- linux下tomcat部署java web项目_在linux下用tomcat部署java web项目的过程与注意事项
在linux下用tomcat部署java web项目的过程与注意事项 一.安装JDK 到http://www.oracle.com/technetwork/java/javase/downloads/ ...
- 从零搭建Linux服务器以及部署Web项目指南
在Web项目开发中,服务器搭建是非常重要的,同时部署web项目也是经常需要进行的事情,下面对一系列流程工作进行阐述. 1.搭建服务器 可以购买或者自行搭建 首先需要一台服务器,在服务器中安装好Cent ...
- 搭建java部署环境以及部署Web项目到Linux
系列文章目录 Linux 环境搭建以及xshell远程连接_crazy_xieyi的博客-CSDN博客 Linux常用命令详解_crazy_xieyi的博客-CSDN博客 Linux权限_crazy_ ...
最新文章
- 机器学习/数据挖掘/算法岗位面试题汇总
- redis单线程为何快
- C语言#line预处理器
- 拓扑排序和关键路径课程设计
- VUE学习和开发中的注意点总结(一),便于回顾(不断完善补充。)
- VIM插件: NERDTREE[树形目录]安装与使用
- 硅谷初创企业控制成本 裁员风渐起
- Html实现Excel锁定表头效果
- Kitti数据集百度网盘链接 00-21全
- 服务器搬迁方案_服务器搬迁方案
- Linux内核4.14版本——GPIO子系统(2)——gpio control driver分析
- STM32课设-智能物联网家居系统(UCOSIII+STEMWIN)
- java毕业生设计学生管理部门信息共享交流系统计算机源码+系统+mysql+调试部署+lw
- android微信逆向工程,iOS逆向 - 微信自动添加好友
- 在vue项目中引入高德地图并使用
- Python竟然可以画漫画!漫画版的故宫导游图,来袭!
- AoCoder 1983 [AGC001E] BBQ Hard(组合数+dp)
- 【软件推荐】压缩软件——7-Zip
- GSA 8月最新5G报告:全球已发布100台5G设备
- 物联网设备管理的未来
热门文章
- 【BZOJ4069】[Apio2015]巴厘岛的雕塑 按位贪心+DP
- APPIUM+Python+HTMLTestRunner(转)
- (IOS)Swift Music 程序分析
- C语言中,两整数相除,若分母为零,则会出现怎样的结果???
- 有关android工程的构建脚本(build.xml)的学习
- 发布一个域安全级别的无代码InfoPath表单作为文档库模版 (InfoPath 一)
- 解决输入框自动填充账号密码的问题
- 【问题解决方案】谷歌浏览器如何打开“开发者工具”窗口
- Guava学习笔记:简化异常处理的Throwables类
- 今晚7点30,腾讯专家与你共探广告智能创意新可能