Jenkins Spring Cloud Alibaba 微服务自动化布署

1、安装Jenkins

下载Jenkins的war包,下载地址:http://mirrors.jenkins.io/war-stable/latest/jenkins.war

2、把war上传到Linux服务器

执行 java -jar jenkins.war --ajp13Port=-1 --httpPort=8081,指定端口为8081

3、浏览器地址输入http://ip:8081,等待Jenkins启动,启动后会让你输入密码,

密码查看:cat /root/.jenkins/secrets/initialAdminPassword,复制查看到的密码,填入,进入安装插件界面

Jenkins Spring Cloud Alibaba 微服务自动化布署_第1张图片
 

视网络情况,等待插件安装完成,过程会比较慢,请耐心等待,不出意外,总能安装完成。

完成后再安装Publish Over SSH 和Maven Integration两个插件

Jenkins Spring Cloud Alibaba 微服务自动化布署_第2张图片

maven插件安装会比较慢,请耐心等待,勾选完成后重启。

4、全局配置jenkins

Jenkins Spring Cloud Alibaba 微服务自动化布署_第3张图片

Jenkins Spring Cloud Alibaba 微服务自动化布署_第4张图片

 

Jenkins Spring Cloud Alibaba 微服务自动化布署_第5张图片

 

配置远程服务器地址,端口,用户名,密码

Jenkins Spring Cloud Alibaba 微服务自动化布署_第6张图片

 

 

测试一下远程服务器是否能连接:

Jenkins Spring Cloud Alibaba 微服务自动化布署_第7张图片

出现success,则能连接成功,不然,之后上传项目会连接不上

5、配置全局的jdk、maven、git地址

Jenkins Spring Cloud Alibaba 微服务自动化布署_第8张图片

 

5-1 maven配置

Jenkins Spring Cloud Alibaba 微服务自动化布署_第9张图片

5-2 jdk配置,用openjdk的可能会报找不到JAVA_HOME,因此可以下载jdk的tar包解压,设置成解压后的目录就可解决

Jenkins Spring Cloud Alibaba 微服务自动化布署_第10张图片

 

5-3 git配置

Jenkins Spring Cloud Alibaba 微服务自动化布署_第11张图片

5-4 maven执行程序配置

Jenkins Spring Cloud Alibaba 微服务自动化布署_第12张图片

 

6、新建任务

Jenkins Spring Cloud Alibaba 微服务自动化布署_第13张图片

6-1新建一个maven的项目

Jenkins Spring Cloud Alibaba 微服务自动化布署_第14张图片

 

6-2 全局配置

Jenkins Spring Cloud Alibaba 微服务自动化布署_第15张图片

 

6-3 配置git地址,添加Credentials 输入用户名和密码,如果正确,不会报错

Jenkins Spring Cloud Alibaba 微服务自动化布署_第16张图片

 

6-4 填写构建环境,多个服务,可以建多个

Jenkins Spring Cloud Alibaba 微服务自动化布署_第17张图片

测试服务器就是刚刚配置了远程服务器的地址,并配置了路径/usr/local,加上Remote directory,拼接起来就是/usr/local/jenkins-jar/   打包完成后会上传jar包到这个目录下

Jenkins Spring Cloud Alibaba 微服务自动化布署_第18张图片

 

又添加了一个服务,都上传到jenkins-jar这个目录下,Source files 就是工程的根目录,意思是这个目录下的所有jar包,Romove Prefix 就是上传的只上传jar包,Exec command是服务器上的执行脚本,脚本:

脚本开始------------------------------------------------------------------------------------------------------------

#!/bin/bash
function killproject()
{
#由于我这边多个项目jar包名一致了,所以并没有用 ps -ef | grep jar包名 来查进程id,而是通过端口号来查的
  project_pid=$(netstat -lnp | grep 8081|awk '{print $7}'|cut -d/ -f1)
  if [  $project_pid > 0 ];then
        echo "authorize项目已经启动了,开始关闭项目,项目pid为: $project_pid "
        kill -9 $(netstat -lnp | grep 8081|awk '{print $7}'|cut -d/ -f1)
        echo 'authorize项目关闭成功,开始重启项目。。。'
  else
        echo "authorize项目未启动,直接启动"
  fi
}
function start_project()
{
        source /etc/profile
        echo 'authorize正在启动项目。。。'
        cd /usr/local/jenkins-jar/
        nohup java -jar authorize-service-0.0.1-SNAPSHOT.jar >authorize.log &2>1 &

}
killproject
sleep 2
start_project

脚本结束------------------------------------------------------------------------------------------------------------

把脚本放到填写的目录中

6-6 填写maven执地脚本

Jenkins Spring Cloud Alibaba 微服务自动化布署_第19张图片

-Ptest就是springboot项目打包测试环境

完成后,保存退出

Jenkins Spring Cloud Alibaba 微服务自动化布署_第20张图片

7,执行构建

Jenkins Spring Cloud Alibaba 微服务自动化布署_第21张图片

 

8:看到构建成功,实现一键发布布署微服务:

Jenkins Spring Cloud Alibaba 微服务自动化布署_第22张图片

你可能感兴趣的:(java)