tomcat上部署jenkins

tomcat上部署jenkins

主机名称 IP地址 需要的应用服务 工具包 node1 192.168.111.141 tomcat、jenkins git、maven node2 192.168.111.142 tomcat 无

部署tomcat

//安装jdk
[root@node1 ~]# yum -y install java-17-openjdk

//下载9.0版本,10的版本部署有bug,无法实现
[root@node1 ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.67/bin/apache-tomcat-9.0.67.tar.gz

//解压tomcat,并部署安装
[root@node1 ~]# tar -xzf apache-tomcat-9.0.67.tar.gz -C /usr/local/
[root@node1 ~]# cd /usr/local/
[root@node1 local]# ln -s apache-tomcat-9.0.67/ tomcat
[root@node1 local]# ls
apache-tomcat-9.0.67  bin  etc  games  include  lib  lib64  libexec  sbin  share  src  tomcat

//启动tomcat,测试能否访问tomcat首页
[root@node1 ~]# /usr/local/tomcat/bin/startup.sh
[root@node1 ~]# ss -anlt | grep 8080
LISTEN 0      100                     *:8080            *:*

访问首页

tomcat上部署jenkins

部署jenkins

//下载jenkins到/usr/local/tomcat/webapps/目录下
[root@node1 ~]# cd /usr/local/tomcat/webapps/

//下载下来后会自动解压
[root@node1 webapps]# wget http://mirrors.jenkins.io/war-stable/2.346.3/jenkins.war
[root@node1 webapps]# ls
ROOT  docs  examples  host-manager  jenkins  jenkins.war  manager

//启动服务
[root@node1 webapps]# cd ..

[root@node1 tomcat]# bin/catalina.sh stop
[root@node1 tomcat]# bin/catalina.sh start

浏览器访问jenkins

tomcat上部署jenkins
//查看/root/.jenkins/secrets/initialAdminPassword
[root@node1 tomcat]# cat /root/.jenkins/secrets/initialAdminPassword
1af83134887b469fa049de1c9cbb84a7

将查看到的密码复制

tomcat上部署jenkins

Jenkins创建流水线任务

在第一台上部署服务tomcat和jenkins(上面已经部署),登录web界面时选择安装推荐的插件,部署好后,设置国内源

tomcat上部署jenkins
等待下载
tomcat上部署jenkins
tomcat上部署jenkins
更改国内源
tomcat上部署jenkins
tomcat上部署jenkins

在node1中配置jenkins

tomcat上部署jenkins
创建流水线任务
tomcat上部署jenkins
首选都需要在jinkins所在服务器,也就是node1中安装git和maven
[root@node1 ~]# yum -y install git maven

tomcat上部署jenkins
添加git下载信息 http://github.com/lizhenliang/tomcat-java-demo.git
tomcat上部署jenkins
添加文本参数客户端IP
tomcat上部署jenkins
添加字符参数定义tomcat路径,ssh密码
tomcat上部署jenkins
添加字符参数,打包
tomcat上部署jenkins
添加字符参数,定义tomcat路径
tomcat上部署jenkins
写流水脚本
tomcat上部署jenkins
pipeline {
    agent any

    stages {
        stage('pull code') {
            steps {
                git '${git_url}'
            }
        }
        stage('package') {
            steps {
                sh """
                mvn clean
                mvn package
"""
            }
        }
        stage('deploy') {
            steps {
                sh """
                sshpass -p "${ssh_pass}" ssh root@${client_ip} 'yum -y install java-11-openjdk > /dev/null'
                sshpass -p "${ssh_pass}" ssh root@${client_ip} 'wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.67/bin/apache-tomcat-9.0.67.tar.gz -P /tmp'
                sshpass -p "${ssh_pass}" ssh root@${client_ip} 'tar xf /tmp/apache-tomcat-9.0.67.tar.gz -C /usr/local'
                sshpass -p "${ssh_pass}" ssh root@${client_ip} 'ln -s /usr/local/apache-tomcat-9.0.67 ${tomcat_path}'
                sshpass -p "${ssh_pass}" ssh root@${client_ip} '${tomcat_path}/bin/catalina.sh start'
                sshpass -p "${ssh_pass}" scp target/${maven_package}.war root@${client_ip}:${tomcat_path}/webapps/
                    sshpass -p "${ssh_pass}" ssh root@${client_ip} '${tomcat_path}/bin/catalina.sh stop && ${tomcat_path}/bin/catalina.sh start'

"""
            }
        }
    }
}

tomcat上部署jenkins

Original: https://www.cnblogs.com/Their-own/p/16743222.html
Author: 事愿人为
Title: tomcat上部署jenkins

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/612377/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 3000帧动画图解MySQL为什么需要binlog、redo log和undo log

    全文建立在MySQL的存储引擎为InnoDB的基础上 先看一条SQL如何入库的: 这是一条很简单的更新SQL,从MySQL服务端接收到SQL到落盘,先后经过了MySQL Serve…

    数据库 2023年6月16日
    0123
  • 详解如何用 CSS3 完成 3D transform变换

    Tips:阅读提示!!! 首先,本文针对的是3D transform变换的学习,所以你需要对2D transform变换 有一定的了解 其次,需要说明的是,代码是一种需要自己不断实…

    数据库 2023年6月11日
    0117
  • 设计模式之(5)——原型模式

    上篇文章中我们提到单例模式可以避免重复创建消耗资源的对象,但是却不得不共用对象。若是对象本身也不让随意访问修改时,怎么办?那么我们就可以采用原型模式来创建新的实例。 定义:原型模式…

    数据库 2023年6月14日
    067
  • 9 &和&&的区别

    &运算符有两种用法 在解释按位与&之前,我们先了解一个知识:程序中的所有数在计算机内存中都是以二进制的形式存储的,位运算就是直接对内存中整数的二进制位进行操作。 按…

    数据库 2023年6月6日
    0130
  • 2022-8-18 第六组 JDBC

    JDBC 1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 JDBC本质:其实是官方(sun公司)定义的一套操作所有…

    数据库 2023年6月14日
    084
  • 实时人流量监测——海康威视sdk初体验

    本文主要是博主使用海康SDK进行人流量统计的摸索过程,在这里简单记录一下。 查询文档,能实现人流量统计大概有两种方式,报警或者监听, 这边我选择了监听方式,NET_DVR_Star…

    数据库 2023年6月16日
    0167
  • 我说MySQL联合索引遵循最左前缀匹配原则,面试官让我回去等通知

    面试官: 我看你的简历上写着 精通MySQL,问你个简单的问题, MySQL联合索引有什么特性? 心想,这还不简单,这不是问到我手心里了吗?听我给你背一遍八股文! 我: MySQL…

    数据库 2023年5月24日
    081
  • MySQL 同步复制及高可用方案总结

    mysql作为应用程序的数据存储服务,要实现mysql数据库的高可用。必然要使用的技术就是数据库的复制,如果主节点出现故障可以手动的切换应用到从节点,这点相信运维同学都是知道,并且…

    数据库 2023年6月9日
    071
  • 5、Idea同时选择多处光标进行编辑

    1、按住Alt+Shift,然后用鼠标左键点击文本,可以让光标在多个位置出现2、每个光标都会同时输入你正在输入的文本3、ESC退出 搜索 复制 Original: https://…

    数据库 2023年6月6日
    094
  • English words chapter 20220927

    本文来自博客园,作者:ukyo–BlackJesus,转载请注明原文链接:https://www.cnblogs.com/ukzq/p/16736392.html Or…

    数据库 2023年6月11日
    093
  • SpringMvc(四)- 下载,上传,拦截器

    1、图片下载 图片下载:将服务器端的文件以流的形式写到客户端,通过浏览器保存到本地,实现下载; 1.1 图片下载步骤 1.通过session获取上下文对象(session.getS…

    数据库 2023年6月16日
    065
  • Redis 生产架构选型对比,一文整治选择困难症

    前言 在写开源项目的时候,想到了要支持多种redis部署方式,于是对于这块的生产环境的架构选型展开调研。 一、引擎版本 推荐使用更新的引擎版本以支持更多的特性, Redis 6.0…

    数据库 2023年6月14日
    088
  • 多版本并发控制 MVCC

    介绍多版本并发控制 多版本并发控制技术(Multiversion Concurrency Control,MVCC) 技术是为了解决问题而生的,通过 MVCC 我们可以解决以下几个…

    数据库 2023年6月11日
    0138
  • Vuex 简单使用

    官网:https://vuex.vuejs.org/zh/ 参考文章:https://www.cnblogs.com/chinabin1993/p/9848720.html Vue…

    数据库 2023年6月16日
    098
  • java面试题总结

    1,集合类面试题 arraylist和linkedlist的区别?底层实现?手写实现?线程安全吗以及原因? hashmap的底层实现?put()执行过程?put null时的执行过…

    数据库 2023年6月11日
    089
  • Django项目中表的查询的操作

    2022-09-29 shell操作: 我在使用中是pycharm与数据库建立连接的一个工具。 使用的环境: 在此处是用在了虚拟环境中。 使用场景: 一般是在创建的表中插入数据后,…

    数据库 2023年6月14日
    082
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球