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实例似乎已离线

Jenkins部署maven项目到远端服务器
解决办法:
默认是通过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部署maven项目到远端服务器
因为下载的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部署maven项目到远端服务器

Jenkins手动插件安装

系统管理------>插件管理
如果遇到如下报错:
Jenkins部署maven项目到远端服务器
解决办法:
Advanced
Jenkins部署maven项目到远端服务器
将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部署maven项目到远端服务器
Jenkins部署maven项目到远端服务器

Jenkins部署maven项目到远端服务器
不要勾选自动安装!

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部署maven项目到远端服务器

Jenkins部署maven项目到远端服务器

Jenkins部署maven项目到远端服务器
使用密码验证!

配置Jenkins与git信任

配置git认证

Jenkins服务器上生成秘钥:

# ssh-keygen

将.ssh/id_rsa.pub 复制到git的ssh key中,便于拉取代码
Jenkins部署maven项目到远端服务器
测试Jenkins服务器可以可以clone代码!

配置Jenkins认证

Jenkins部署maven项目到远端服务器

Jenkins部署maven项目到远端服务器
Jenkins部署maven项目到远端服务器
此处输入.ssh/id_rsa
Jenkins部署maven项目到远端服务器

创建项目

创建maven项目

Jenkins部署maven项目到远端服务器

项目描述
Jenkins部署maven项目到远端服务器
SSHF方式,若无认证,会报错
Jenkins部署maven项目到远端服务器
正常情况:
Jenkins部署maven项目到远端服务器
依赖pom文件的编译命令:
Jenkins部署maven项目到远端服务器
编译成功后动作:
Jenkins部署maven项目到远端服务器
连接到部署服务器上,将原来的服务暂时暂停,备份上一次部署的压缩包,选择添加远程shell脚本执行。
Jenkins部署maven项目到远端服务器
把打包好的代码发送到服务器上,并且启动服务,选择通过ssh发送文件并执行命令到远程服务器。

相关文章: