Jenkins部署maven项目到远端服务器
jenkins服务器地址:192.168.1.203
项目部署机器地址:192.168.1.201,192.168.1.200
代码托管github
虽然比较low,但是入门是可以的!
Jenkins安装
参考:https://jenkins.io/zh/doc/book/installing/
下载地址:https://jenkins.io/download/
本示例采用rpm包安装。
Jenkins需要JDK1.8支持。
Jenkins默认配置文件:/etc/sysconfig/jenkins
Jenkins war包位置:/usr/lib/jenkins/jenkins.war
# java -version
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)
安装过程中该Jenkins实例似乎已离线

解决办法:
默认是通过https://updates.jenkins.io/update-center.json 进行更新的。此处,将https改为http,重启Jenkins,重新打开页面,一切都正常了。
# find / -name "hudson.model.UpdateCenter.xml"
/xx/jenkins/hudson.model.UpdateCenter.xml
# vim /beike/jenkins/hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>http://updates.jenkins.io/update-center.json</url>
</site>
</sites>
# /etc/init.d/jenkins restart
No such plugin: cloudbees-folder

因为下载的Jenkins.war里没有cloudbees-folder插件
需要在网上下载:http://ftp.icm.edu.pl/packages/jenkins/plugins/cloudbees-folder/
下载cloudbees-folder.hpi放在/xxx/webapps/jenkins/WEB-INF/detached-plugins即可
# find / -name "detached-plugins"
/var/cache/jenkins/war/WEB-INF/detached-plugins
# cd /var/cache/jenkins/war/WEB-INF/detached-plugins
# wget http://ftp.icm.edu.pl/packages/jenkins/plugins/cloudbees-folder/latest/cloudbees-folder.hpi
# /etc/init.d/jenkins restart
之后可正常安装jenkins社区版推荐插件!

Jenkins手动插件安装
系统管理------>插件管理
如果遇到如下报错:

解决办法:
Advanced

将https修改为http即可
需安装插件:
GIT client plugin
GIT plugin
Git server plugin
GitHub API Plugin
GitHub plugin
SSH Credentials Plugin
SSH plugin
Publish Over SSH
Maven Integration
NodeJS
设置环境变量



不要勾选自动安装!
Jenkins配置机器信任
配置Jenkins服务器与待发布服务器之间的信任
# ssh-copy-id -i .ssh/id_rsa.pub root@192.168.1.200
# ssh-copy-id -i .ssh/id_rsa.pub root@192.168.1.201
Jenkins中添加已经信任的机器



使用密码验证!
配置Jenkins与git信任
配置git认证
Jenkins服务器上生成秘钥:
# ssh-keygen
将.ssh/id_rsa.pub 复制到git的ssh key中,便于拉取代码

测试Jenkins服务器可以可以clone代码!
配置Jenkins认证



此处输入.ssh/id_rsa

创建项目
创建maven项目

项目描述

SSHF方式,若无认证,会报错

正常情况:

依赖pom文件的编译命令:

编译成功后动作:

连接到部署服务器上,将原来的服务暂时暂停,备份上一次部署的压缩包,选择添加远程shell脚本执行。

把打包好的代码发送到服务器上,并且启动服务,选择通过ssh发送文件并执行命令到远程服务器。
Jenkins部署maven项目到远端服务器的更多相关文章
- Jenkins+harbor+gitlab+k8s 部署maven项目
一.概述 maven项目部署流程图如下: 环境介绍 操作系统 ip 角色 版本 ubuntu-16.04.4-server-amd64 192.168.10.122 Jenkins+harbor Je ...
- jenkins部署java项目,脚本文件放在远程仓库中 和jar一起打包(六)
jenkins部署java项目到远程linux上,脚本文件和项目一起上传到gogs上,直接执行gogs上的脚本文件来执行项目 (1)新建maven项目 pom.xml的配置 <project x ...
- Intellij 部署maven项目
一 部署Maven项目 1.下载和配置 (1)下载:maven.apache.org,点击download,下载apache-maven-3.3.9-bin.zip (2)配置环境变量: 环境变量包括 ...
- jenkins部署web项目到webogic
注: Docker容器里安装的jenkins,Docker容易里安装的weblogic 在jenkins里面直接将打包好的 war 包通过 Publish over SSH插件 放入 weblogic ...
- jenkins构建maven项目
使用jenkins构建部署maven项目 因为一开始我们是自定义插件,所以构建项目的时候没有显示maven风格的项目.如果要想使用maven,我们这里必须得安装一下插件,我们在插件管理器中, 可以看到 ...
- git jenkins 部署java项目
1.Java项目部署基本概述: 1.什么是Java项目? 2.为什么Java项目需要使用Maven编译? 3.手动实现Java项目构建? 4.手动实现Java项目架构图? 源码包 jar包 ...
- Jenkins部署Web项目到远程tomcat(通过jenkins插件)
之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...
- 部署Maven项目到tomcat报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener【转】
部署Maven项目到tomcat报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderLi ...
- Jenkins创建Maven项目及SSH部署
前面我们已经安装了Jenkins的环境,以及配置好了jdk和maven.下面我们来看如何通过Jenkins将svn的项目进行打包和部署. 创建MAVEN项目 1.点击新建,输入项目名,选择" ...
随机推荐
- vue的data里面的值是数组时,在更改其某一项的时候,怎么触发视图的重新渲染?
1. 设置对象或数组的值:Vue.set(target,key,value) :2.删除对象或数组中元素: Vue.delete ( target,key) ;3. 数组对象直接修改属性,可以触发视图 ...
- 最新版Navicate破解激活
2019年5月5日激活成功 版本12.1.18 Navicat12.1下载地址 http://www.navicat.com.cn/download/navicat-premium有32位和64位,大 ...
- FICO-清帐函数
转载:https://www.cnblogs.com/caizjian/p/8067071.html https://blog.csdn.net/sapliumeng/article/details/ ...
- jmeter学习笔记(三)配置元件之HTTP信息头管理
使用jmeter模拟发送http请求时,有些请求是需要带上HTTP请求头里面的信息.比如页面需要登录信息的,那个就需要用户登录信息authorization.这个时候是需要使用到HTTP信息头管理器. ...
- stm32 SD卡
容量等级 SD容量有8MB.16MB.32MB.64MB.128MB.256MB.512MB.1GB.2GB SDHC容量有2GB .4GB.8GB.16GB.32GB SDXC容量有32GB.48G ...
- RocketMQ问题
RocketMQ原理(4)——消息ACK机制及消费进度管理 RocketMQ消费者,设置setConsumeFromWhere无效的问题 MQ的CONSUME_FROM_LAST_OFFSET未生效 ...
- java数据类型转换的常见方法
public class Testfun { public static void main(String[] args) { // (一)跨Number父类的类型转换 // 1.str转int =& ...
- Django+bootstrap+注册登录系统
转自:https://www.cnblogs.com/robindong/p/9610057.html Robin_D 博客园 首页 新随笔 联系 订阅 管理 随笔 - 10 文章 - 0 评论 ...
- Linux:入门基础
一.操作Linux必知必会基础知识 二.在Linux命令下查看命令帮助信息 三.Linux挂机重启注销命令 四.Linux显示系统IP地址 一.操作Linux必知必会基础知识 1.Linux命令行组成 ...
- PAT_B 20
这道题就是简单的贪心,有几个注意点: 1.又是一个单体有多个属性(即月饼有总量,总价,单价几个属性),这个时候可以考虑使用struct结构,我还是傻傻使用pair,还是没有养成习惯,幸好这道题存下来两 ...