centos 7 jenkins安装 maven项目自动发布

Java 发表评论

​​

目录

第一步 ,jenkins安装

第二步,插件安装和配置

第三步,Publish over SSH

第四步,部署项目


jenkins搭建 部署分为四个步骤;

  • 第一步,jenkins安装
  • 第二步,插件安装和配置
  • 第三步,Push SSH
  • 第四步,部署项目

基本环境要求

centos 7 , Jdk1.8, maven(可提前选装)

第一步 ,jenkins安装

下载 jenkins通用的war包 https://jenkins.io/download/

启动

     java -jar jenkins.war &

  后期要放在tomcat中方便启动管理

Jenkins 就启动成功了!它的war包自带Jetty服务器

第一次启动Jenkins时,出于安全考虑,Jenkins会自动生成一个随机的口令。注意控制台输出的口令,复制下来,然后在浏览器输入密码:

  1. INFO:
  2. *************************************************************
  3. *************************************************************
  4. *************************************************************
  5. Jenkins initial setup is required. An admin user has been created and a password generated.
  6. Please use the following password to proceed to installation:
  7. 0cca37389e6540c08ce6e4c96f46da0f
  8. This may also be found at: /root/.jenkins/secrets/initialAdminPassword
  9. *************************************************************
  10. *************************************************************
  11. *************************************************************

访问 浏览器访问: http://localhost:8080/

输入秘钥  0cca37389e6540c08ce6e4c96f46da0f

也可以通过  vim /root/.jenkins/secrets/initialAdminPassword打开进行查看

进入用户自定义插件界面,建议选择安装官方推荐插件,因为安装后自己也得安装:

接下来是进入插件安装进度界面:

插件一次可能不会完全安装成功,可以点击Retry再次安装,直到全部安装成功。

等待一段时间之后,插件安装完成,配置用户名密码:

输入:admin/admin

第二步,插件安装和配置

有很多插件都是选择的默认的安装的,所以现在需要我们安装的插件不多,

  1. Git plugin  
  2. Maven Integration plugin
  3. publish over SSH
  4. CVS Plug-in

插件安装:系统管理 > 插件管理 > 可选插件,勾选需要安装的插件,点击直接安装或者下载重启后安装

 

配置全局变量

系统管理 > 全局工具配置

JDK

选择自动安装

或者配置本地JDK的路径,去掉勾选自动安装

Maven

配置本地maven的路径,去掉勾选自动安装,也可以自动安装

 

其它内容可以根据自己的情况选择安装。

 

第三步,Publish over SSH

进入Publish over SSH设置位置进行增加

填写服务器

  1. ip
  2. 用户名
  3. 上传的路径
  4. 密码

在点击高级后会出现输入密码,输入服务器的密码即可。

也可以使用ssh 秘钥进行免密码登录,配置比较麻烦所以直接才用 用户明密码进行校验。

 

第四步,部署项目

首页点击新建:输入项目名称

下方选择构建一个maven项目,点击确定。

勾选丢弃旧的构建,选择是否备份被替换的旧包。我这里选择备份最近的10

源码管理,选择svn,配置SVN相关信息,点击add可以输入svn的账户和密码

测试项目是  Spring Boot项目

构建环境中勾选 Maven release build

构建的命令
Release goals and options

         clean install release:prepare release:perform -Darguments=”-Dp.build.number=$BUILD_NUMBER -Dsvn.version=$SVN_REVISION -Dresume=false  -Dmaven.test.skip=true -Dmaven.javadoc.skip=true”

DryRun goals and options

         clean install release:prepare -Darguments=”-Dp.build.number=$BUILD_NUMBER -Dsvn.version=$SVN_REVISION -Dresume=false -DdryRun=true -Dmaven.test.skip=true -Dmaven.javadoc.skip=true”

构建命令使用最新的版本

clean install -Pproduct -am -Dmaven.test.skip=true -Dp.build.number=$BUILD_NUMBER -Dsvn.version=$SVN_REVISION

 

点击Add post-build step,选择 Send files or execute commands over SSH

Name选择上面配置的Push SSH

restaet.sh

#!/bin/bash
basepath=$(cd `dirname $0`; pwd)
for dir in $(ls $basepath | grep jar)
do
   ps -ef |grep $dir | grep -v grep | grep -v restart |awk '{print $2}'|xargs kill -9  1>/dev/null 2>&1 | exit 0;
   java -jar $basepath/$dir >> $(basename $dir .jar).log &
done
exit 0

 

这段脚本的意思,就是kill旧项目 ,启动新项目

可以进入项目中查看日志

全文完。

发表评论

邮箱地址不会被公开。 必填项已用*标注

昵称 *