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)

大家都在看

  • Node版本更新及切换

    Node版本升级 清除npm缓存 npm cache clean -f n&#x6A…

    数据库 2023年6月16日
    0109
  • MySQL实战45讲 9

    09 | 普通索引和唯一索引,应该怎么选择? 每个人都有一个唯一的身份证号,而且业务代码已经保证了不会写入两个重复的身份证号。如果市民系统需要按照身份证号查姓名,就会执行类似这样的…

    数据库 2023年5月24日
    0102
  • 多商户商城系统功能拆解28讲-平台端营销-消费奖励

    多商户商城系统,也称为B2B2C(BBC)平台电商模式多商家商城系统。可以快速帮助企业搭建类似拼多多/京东/天猫/淘宝的综合商城。 多商户商城系统支持商家入驻加盟,同时满足平台自营…

    数据库 2023年6月14日
    081
  • [springmvc]拦截器功能

    11.拦截器 只会拦截controller的请求,对于静态资源不处理 被spring代理的拦截器实现只需要两步: 1.实现一个拦截器类 package com.spring.con…

    数据库 2023年6月16日
    073
  • RocksDB线程局部缓存

    在开发过程中,我们经常会遇到并发问题,解决并发问题通常的方法是加锁保护,比如常用的spinlock,mutex或者rwlock,当然也可以采用无锁编程,对实现要求就比较高了。对于任…

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

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

    数据库 2023年6月11日
    0109
  • 07 sql函数

    函数:切记函数和括号要紧密相连内置函数1.算术函数abs mod roundmax min avg sum count 这几个为聚集函数,特别在分组中常用 select abs(-…

    数据库 2023年6月16日
    063
  • MYSQL的Java操作器——JDBC

    在学习了Mysql之后,我们就要把Mysql和我们之前所学习的Java所结合起来 而JDBC就是这样一种工具:帮助我们使用Java语言来操作Mysql数据库 JDBC简介 首先我们…

    数据库 2023年6月14日
    068
  • 重写Feign编码器

    有个spring cloud 架构的项目需要调用php小组的api接口,但php提供的接口入参大部分是下划线命名,而Java这边的实体类是按照驼峰编写,如果使用Fegin调用会导致…

    数据库 2023年6月6日
    079
  • SQLZOO练习(一)SELECT BASICS,SELECT form world

    name continent area population gdp Afghanistan Asia 652230 25500100 20343000000 Albania Eu…

    数据库 2023年6月16日
    096
  • LeetCode 14. 最长公共前缀

    编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入:strs = [“flower&#8…

    数据库 2023年6月11日
    053
  • LeetCode 13. 罗马数字转整数

    罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如,罗马数字2写做II,…

    数据库 2023年6月11日
    079
  • Cannot execute statement in a READ ONLY transaction.

    报错如下: Cause: java.sql.SQLException: Cannot execute statement in a READ ONLY transaction. ;…

    数据库 2023年6月11日
    085
  • mysql常用操作汇总

    工作中经常用会遇到这种情况,可以访问mysql所在的服务器,但是服务器端口不对外暴露(通常因为安全原因)。这时,操作数据库只能通过命令行和 mysql client窗口来实现。我对…

    数据库 2023年5月24日
    069
  • 设计模式之(8)——代理模式

    定义:为某个对象提供一个代理,以达到对这个对象的访问控制,代理类和委托类有共同的父类或者父接口,这样可以在使用委托类的地方都可以使用代理对象来替换(这符合程序设计中的”…

    数据库 2023年6月14日
    072
  • jupyter使用虚拟环境

    为了在jupyter中使用pyTorch的虚拟环境,来记录一下怎么操作一、conda命令的使用因为使用的是jupyter,所有就使用Anaconda Prompt来创建虚拟环境(也…

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