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)

大家都在看

  • Shell第三章《for循环》

    语法结构: for 变量名 [ in 取值列&a…

    数据库 2023年6月14日
    092
  • Linux–>常用指令

    Linux的选项可以组合使用比如说ls -al这种 pwd 指令 作用:查看当前所在目录的 绝对路径 语法: pwd ls 指令 作用:显示当前目录下所有文件 语法: ls &am…

    数据库 2023年6月14日
    0175
  • MySQL实战45讲 12

    12 | 为什么我的MySQL会”抖”一下? 一条 SQL 语句,正常执行的时候特别快,但是 有时也不知道怎么回事,它就会变得特别慢,并且这样的场景很难复现…

    数据库 2023年6月16日
    096
  • 人的思维定势

    人的思维定势 前段时间,因为咳嗽时间太长,去了医院看”呼吸内科”,检查了一番,最终发现是”变异性咳嗽”,也叫”变异性哮喘…

    数据库 2023年6月9日
    075
  • python 学习笔记(十二)–Django 基本知识点小结

    构造函数格式: 作用: 向客户端浏览器返回相应,同时携带响应体内容。 参数: –content:表示返回的内容。 –status_code:返回的HTTP响…

    数据库 2023年6月16日
    080
  • 3_MyBatis

    一. 引言 1.1 什么是框架? 软件的半成品, 解决了软件开发过程中的普适性问题, 从而简化了开发步骤, 提升了开发效率 1.2 什么是ORM框架? ORM(Object Rel…

    数据库 2023年6月11日
    078
  • 5000+字硬核干货!Redis 分布式集群部署实战

    原理: Redis集群采用一致性哈希槽的方式将集群中每个主节点都分配一定的哈希槽,对写入的数据进行哈希后分配到某个主节点进行存储。 集群使用公式(CRC16 key)& 1…

    数据库 2023年6月9日
    096
  • MySQL架构

    1_逻辑架构 1.1.连接层 系统(客户端)访问MySQL服务器前,做的第一件事就是 建立TCP连&#x6…

    数据库 2023年5月24日
    0102
  • Typora加七牛云实现实时图片自动上传

    Typora加七牛云实现实时图片自动上传 前言: ​ Typora是一款轻便简洁的Markdown编辑器,支持即时渲染技术,这也是与其他Markdown编辑器最显著的区别.重点是免…

    数据库 2023年6月9日
    0192
  • Sencha Cmd 常用命令

    1、获取帮助 sencha help generate app 2、创建应用程序 sencha -sdk e:\ext\ext6 generate app -classic Sim…

    数据库 2023年6月9日
    089
  • Redis的Java客户端

    Redis 的 Java 客户端 Jedis 优点:以 Redis 命令作为方法名称,学习成本低廉,简单且实用 缺点:Jedis 的实例是线程不安全的,在多线程的环境下需要基于线程…

    数据库 2023年6月16日
    090
  • MySQL提示sql_mode=only_full_group_by解决办法

    MySQL异常sql_mode=only_full_group_by 原因:在MySQL 5.7后MySQL默认开启了SQL_MODE严格模式,对数据进行严格校验。会报sql_mo…

    数据库 2023年6月14日
    091
  • LeetCode 58. 最后一个单词的长度

    给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1: 输入:…

    数据库 2023年6月11日
    083
  • Centos7 离线安装K3s

    1、安装前准备 github地址:https://github.com/k3s-io/k3s/releases k3s二进制文件:k3s下载地址:github地址 / 百度网盘地址…

    数据库 2023年6月14日
    0108
  • MySQL实战45讲 19

    19 | 为什么我只查一行的语句,也执行这么慢? 有些情况下,”查一行”,也会执行得特别慢。 需要说明的是,如果 MySQL 数据库本身就有很大的压力,导致…

    数据库 2023年5月24日
    060
  • 4 String是基本数据类型吗

    不是,Java中的基本类型只有8种,分别是:byte,short,int,long,float,double,char,boolean; 除了以上8种基本数据类型以外,其余的均为引…

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