[Jenkins自动化] 实现远端linux自动化部署方式(上篇)

目录

本篇文章简介: 简单易上手, 轻松实现jenkins实现自动化部署(上)

1. 安装jenkins方式

-> 1.1 windows版本

--->1.1.1  直接安装 修改安装路径 设置端口号 9000为例

---> 1.1.2 创建工作空间即可 (起名为pzy)

-> 1.2 linux版本(暂无)

-> 1.3 docker版本(暂无)

2. 将项目构建成jar包(基础方法)

-> 2.1 基础配置

---> 2.1.1 修改 jenkins.xml文件(示例如下, 就是你jenkins的安装路径

---> 2.1.2 保存后重启jenkins服务 

---> 2.1.3 打开 localhost:9000 

---> 2.1.4 安装插件  直接安装推荐插件

---> 2.1.5 创建一个管理员账号 用于登录

->2.2 系统配置操作

---> 2.2.1 (安装插件) maven 搜 Maven Integration

---> 2.2.2 安装 Publish Over SSH

---> 2.2.3 安装插件Gitee

-> 2.3 配置maven 

--->2.3.1 操作方式:  首页-> 系统管理 -> 全局配置 找到maven安装

 -> 2.4 配置jdk 位置上同 

---> 2.4.1找不到jdk安装位置???

 ->2.4.2 如图所示 进行配置

 ---> 2.4.3 应用并保存, 返回首页

->2.5 新建item任务

---> 2.5.1 选择自由风格 起名

 ---> 2.5.2 配置git (基本操作 账号 密码 仓库地址)

 ---> 2.5.3 向下拉 修改分支

 ---> 2.5.4 点击触发器 点击构建 调用顶层maven目标

 --->2.5.5 保存

-> 2.6 点击构建 

---> 2.6.1 点击pzy-test 执行拉取代码

---> 2.6.2 效果图如下 : 

3.  在服务器中添加启动和关闭脚本 

-> 3.1创建并执行jar包 尝试关闭./shutdown.sh

-> 3.2 创建并执行jar包 尝试启动 ./startup.sh

 ->3.3  权限不够 命令来凑

4. 系统ssh配置方式

-> 4.1 管理jenkins点击 找到选框位置

​编辑 -> 4.2 安装插件ssh  搜索Publish Over SSH

 -> 4.3 修改系统配置 如图

 -> 4.4 拉到下面 找到ssh servers  填写服务器基本信息

 -> 4.5 保存返回

5. 配置新的item任务

 -> 5.1 选择自由风格

 -> 5.2 返回首页, 点击 红框位置

 -> 5.3 点击配置 如图

 -> 5.4 点击高级 选择并填写自定义工作空间

 -> 5.5 点击构建后操作

-> 5.6 核心 填写基本信息 如图所示 

 ->5.7  点击运行 build now, 查看控制台输出日志  正确如图

 -> 5.8 查看服务器是否部署成功

 (待续未完) 下篇更精彩


本篇文章简介: 简单易上手, 轻松实现jenkins实现自动化部署(上)

 实现了jenkins基础安装配置, gitee拉取 , 推送服务器 杀死进程 启动进程的自动化操作

 特邀 hyn 提供技术支持

1. 安装jenkins方式

-> 1.1 windows版本

--->1.1.1  直接安装 修改安装路径 设置端口号 9000为例

---> 1.1.2 创建工作空间即可 (起名为pzy)

-> 1.2 linux版本(暂无)

-> 1.3 docker版本(暂无)

2. 将项目构建成jar包(基础方法)

-> 2.1 基础配置

---> 2.1.1 修改 jenkins.xml文件(示例如下, 就是你jenkins的安装路径

我这里是 D:\software\jenkins\pzy\Jenkins 不然默认是c盘

<!--
The MIT License

Copyright (c) 2004-2017, Sun Microsystems, Inc., Kohsuke Kawaguchi, Oleg Nenashev, and other Jenkins contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<!--
  Windows service definition for Jenkins.

  To uninstall, run "jenkins.exe stop" to stop the service, then "jenkins.exe uninstall" to uninstall the service.
  Both commands don't produce any output if the execution is successful. 
-->
<service>
  <id>jenkins</id>
  <name>Jenkins</name>
  <description>This service runs Jenkins automation server.</description>
  <env name="JENKINS_HOME" value="D:\software\jenkins\pzy\Jenkins\.jenkins"/>
  <!--
    if you'd like to run Jenkins with a specific version of Java, specify a full path to java.exe.
    The following value assumes that you have java in your PATH.
  -->
  <executable>C:\Program Files\Java\jdk1.8.0_201\\bin\java.exe</executable>
  <arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "D:\software\jenkins\jenkins.war" --httpPort=9000 --webroot="D:\software\jenkins\pzy\Jenkins\war"</arguments>
  <!--
    interactive flag causes the empty black Java window to be displayed.
    I'm still debugging this.
  <interactive />
  -->
  <logmode>rotate</logmode>

  <onfailure action="restart"/>
  
  <!-- 
    In the case WinSW gets terminated and leaks the process, we want to abort
    these runaway JAR processes on startup to prevent corruption of JENKINS_HOME.
    So this extension is enabled by default.
  -->
  <extensions>
    <!-- This is a sample configuration for the RunawayProcessKiller extension. -->
    <extension enabled="true" className="winsw.Plugins.RunawayProcessKiller.RunawayProcessKillerExtension" id="killOnStartup">
      <pidfile>D:\software\jenkins\pzy\Jenkins\jenkins.pid</pidfile>
      <stopTimeout>10000</stopTimeout>
      <stopParentFirst>false</stopParentFirst>
    </extension>
  </extensions>
  
  <!-- See the referenced examples for more options -->
  
</service>

---> 2.1.2 保存后重启jenkins服务 

任务管理器-> 服务-> 搜索jenkins -> 右键重新启动

---> 2.1.3 打开 localhost:9000 

根据红字内的地址 找到你本地的文件夹 复制粘贴即可

---> 2.1.4 安装插件  直接安装推荐插件

---> 2.1.5 创建一个管理员账号 用于登录

->2.2 系统配置操作

---> 2.2.1 (安装插件) maven 搜 Maven Integration

---> 2.2.2 安装 Publish Over SSH

---> 2.2.3 安装插件Gitee

-> 2.3 配置maven 

--->2.3.1 操作方式:  首页-> 系统管理 -> 全局配置 找到maven安装

 -> 2.4 配置jdk 位置上同 

---> 2.4.1找不到jdk安装位置???

       解决:  cmd命令(java -verbose)

 ->2.4.2 如图所示 进行配置

 ---> 2.4.3 应用并保存, 返回首页

->2.5 新建item任务

---> 2.5.1 选择自由风格 起名

 ---> 2.5.2 配置git (基本操作 账号 密码 仓库地址)

 添加账号密码凭证

 

 ---> 2.5.3 向下拉 修改分支

 ---> 2.5.4 点击触发器 点击构建 调用顶层maven目标

指令如下: clean install -Dmaven.test.skip=true 打包
 

 --->2.5.5 保存

-> 2.6 点击构建 

---> 2.6.1 点击pzy-test 执行拉取代码

自动maven进行构建 (第一次可能会很慢), 可以看日志, 然后看jar包保存位置  

---> 2.6.2 效果图如下 : 

3.  在服务器中添加启动和关闭脚本 

设定 jar包存放在 /opt/app下

-> 3.1创建并执行jar包 尝试关闭./shutdown.sh

#!/bin/bash

#删除历史数据
#rm -rf xxoo

appname=$1
#获取传入的参数
echo "arg:$1"


#获取正在运行的jar包pid
pid=`ps -ef | grep $1 | grep 'java -jar' | awk '{printf $2}'`

echo $pid

#如果pid为空,提示一下,否则,执行kill命令
if [ -z $pid ];
#使用-z 做空值判断
        then
                echo "$appname not started"

        else
               kill -9 $pid
                echo "$appname stoping...."

fi

-> 3.2 创建并执行jar包 尝试启动 ./startup.sh

APP_NAME=$1
echo $APP_NAME
/opt/app/shutdown.sh $APP_NAME
source /etc/profile
nohup /usr/local/jdk1.8.0_45/bin/java -jar -Xms512m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M  $APP_NAME --spring.profiles.active=test >>/opt/app/nohup.out 2>&1 &
echo "success"
sleep 10s

 ->3.3  权限不够 命令来凑

chmod +x startup.sh
chmod +x shutdown.sh

4. 系统ssh配置方式

-> 4.1 管理jenkins点击 找到选框位置

 -> 4.2 安装插件ssh  搜索Publish Over SSH

 正常安装

 -> 4.3 修改系统配置 如图

 -> 4.4 拉到下面 找到ssh servers  填写服务器基本信息

 -> 4.5 保存返回

5. 配置新的item任务

<实现单项目自动化部署> 

 -> 5.1 选择自由风格

 -> 5.2 返回首页, 点击 红框位置

 -> 5.3 点击配置 如图

 -> 5.4 点击高级 选择并填写自定义工作空间

我的位置如下: D:\software\jenkins\pzy\Jenkins\.jenkins\workspace\pzy-test

 

 -> 5.5 点击构建后操作

 

-> 5.6 核心 填写基本信息 如图所示 

 ->5.7  点击运行 build now, 查看控制台输出日志  正确如图

 

 -> 5.8 查看服务器是否部署成功

jps -v -l 查看 启动参数和jar包名


到此 jenkins上篇结束 多个服务 操作相似

下篇来袭: ->[jenkins自动化2]: linux自动化部署方式之流水线(下篇)

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pingzhuyan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值