当前位置:   article > 正文

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

jenkin部署远程服务

目录

本篇文章简介: 简单易上手, 轻松实现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盘

  1. <!--
  2. The MIT License
  3. Copyright (c) 2004-2017, Sun Microsystems, Inc., Kohsuke Kawaguchi, Oleg Nenashev, and other Jenkins contributors
  4. Permission is hereby granted, free of charge, to any person obtaining a copy
  5. of this software and associated documentation files (the "Software"), to deal
  6. in the Software without restriction, including without limitation the rights
  7. to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  8. copies of the Software, and to permit persons to whom the Software is
  9. furnished to do so, subject to the following conditions:
  10. The above copyright notice and this permission notice shall be included in
  11. all copies or substantial portions of the Software.
  12. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  13. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  14. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  15. AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  16. LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  17. OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  18. THE SOFTWARE.
  19. -->
  20. <!--
  21. Windows service definition for Jenkins.
  22. To uninstall, run "jenkins.exe stop" to stop the service, then "jenkins.exe uninstall" to uninstall the service.
  23. Both commands don't produce any output if the execution is successful.
  24. -->
  25. <service>
  26. <id>jenkins</id>
  27. <name>Jenkins</name>
  28. <description>This service runs Jenkins automation server.</description>
  29. <env name="JENKINS_HOME" value="D:\software\jenkins\pzy\Jenkins\.jenkins"/>
  30. <!--
  31. if you'd like to run Jenkins with a specific version of Java, specify a full path to java.exe.
  32. The following value assumes that you have java in your PATH.
  33. -->
  34. <executable>C:\Program Files\Java\jdk1.8.0_201\\bin\java.exe</executable>
  35. <arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "D:\software\jenkins\jenkins.war" --httpPort=9000 --webroot="D:\software\jenkins\pzy\Jenkins\war"</arguments>
  36. <!--
  37. interactive flag causes the empty black Java window to be displayed.
  38. I'm still debugging this.
  39. <interactive />
  40. -->
  41. <logmode>rotate</logmode>
  42. <onfailure action="restart"/>
  43. <!--
  44. In the case WinSW gets terminated and leaks the process, we want to abort
  45. these runaway JAR processes on startup to prevent corruption of JENKINS_HOME.
  46. So this extension is enabled by default.
  47. -->
  48. <extensions>
  49. <!-- This is a sample configuration for the RunawayProcessKiller extension. -->
  50. <extension enabled="true" className="winsw.Plugins.RunawayProcessKiller.RunawayProcessKillerExtension" id="killOnStartup">
  51. <pidfile>D:\software\jenkins\pzy\Jenkins\jenkins.pid</pidfile>
  52. <stopTimeout>10000</stopTimeout>
  53. <stopParentFirst>false</stopParentFirst>
  54. </extension>
  55. </extensions>
  56. <!-- See the referenced examples for more options -->
  57. </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

  1. #!/bin/bash
  2. #删除历史数据
  3. #rm -rf xxoo
  4. appname=$1
  5. #获取传入的参数
  6. echo "arg:$1"
  7. #获取正在运行的jar包pid
  8. pid=`ps -ef | grep $1 | grep 'java -jar' | awk '{printf $2}'`
  9. echo $pid
  10. #如果pid为空,提示一下,否则,执行kill命令
  11. if [ -z $pid ];
  12. #使用-z 做空值判断
  13. then
  14. echo "$appname not started"
  15. else
  16. kill -9 $pid
  17. echo "$appname stoping...."
  18. fi

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

  1. APP_NAME=$1
  2. echo $APP_NAME
  3. /opt/app/shutdown.sh $APP_NAME
  4. source /etc/profile
  5. 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 &
  6. echo "success"
  7. sleep 10s

 ->3.3  权限不够 命令来凑

  1. chmod +x startup.sh
  2. 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自动化部署方式之流水线(下篇)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/551024
推荐阅读
相关标签
  

闽ICP备14008679号