0
点赞
收藏
分享

微信扫一扫

持续集成工具Jenkins学习3 MVN+Ansible集成

西曲风 2022-06-28 阅读 36


持续集成工具Jenkins学习3 MVN+Ansible集成

  • ​​一、 环境准备​​
  • ​​二、操作​​
  • ​​1. 创建spring boot 项目​​
  • ​​2. 在Jenkins新建 TestingProject流水线工程​​
  • ​​3. 设置jenkins服务器免密登陆 目标机器​​
  • ​​4. 在/home下新建restart.sh​​
  • ​​5. 在spring boot项目下新建 playbook.yml​​
  • ​​6. 在spring boot项目下新建hosts文件​​
  • ​​7. 修改Jenkinsfile文件​​
  • ​​三、构建工程后,目标机器将自动更新jar并重启应用。​​

一、 环境准备

持续集成工具Jenkins学习3 MVN+Ansible集成_jar

  • Jenkins
  • Java SpringBoog工程
  • Jenkins服务器上安装Ansible
  • 有一台待部署目标服务器

二、操作

Jenkins与ansible的集成通常有两种方式,一种使用jenkins-ansible插件,另一种使用shell调用。
本文使用shell方式。

1. 创建spring boot 项目

过程略。

2. 在Jenkins新建 TestingProject流水线工程

​​参考操作​​

3. 设置jenkins服务器免密登陆 目标机器

​​参考操作​​

4. 在/home下新建restart.sh

ps -ef|grep myapp|grep -v grep|cut -c 9-15|xargs kill -9
nohup /usr/bin/java -jar -Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m /home/TestProject/myapp.jar >> /dev/null 2>&1 &

5. 在spring boot项目下新建 playbook.yml

---
- hosts: testing
tasks:
- name: restart whr info web v2
shell: bash /home/restart.sh

6. 在spring boot项目下新建hosts文件

[testing]
192.168.1.2

7. 修改Jenkinsfile文件

pipeline{
agent any

tools {
maven 'maven'
}

stages {
stage('Build') {
steps {
echo 'Building...'
sh "mvn clean package -Dmaven.test.skip=true"
sh "printenv"
sh "scp /var/lib/jenkins/workspace/TestProject/myapp/target/myapp.jar root@192.168.1.2:/home/myapp.jar"
}
}
stage('Deploy') {
steps {
sh "ansible-playbook ${env.WORKSPACE}/playbook.yml -i ${env.WORKSPACE}/hosts"
}
}
}

}

三、构建工程后,目标机器将自动更新jar并重启应用。


举报

相关推荐

0 条评论