基础教程 | Tomcat 中使用 Jenkins
时间:2022-07-26
本文章向大家介绍基础教程 | Tomcat 中使用 Jenkins,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
文章类型:原创 作者:LinuxSuRen 原文链接:https://jenkins-zh.cn/tutorial/get-started/install/tomcat/
Tomcat
Tomcat 是 Apache 旗下的开源应用服务器,Java 的 Web 应用经常会选择它作为应用服务器来提供 Web 服务。
对于初次安装 Jenkins 的同学,有相当大一部分比例是使用 Tomcat 进行安装,Tomcat 和 Jenkins 都是用 Java 语言开发的,因此,我们首先需要安装 Java 的运行环境(JRE,Java Runtime Environment)。
安装
首先我们需要下载 Tomcat 和 Jenkins:
# 下载Tomcat并解压
wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.105/bin/apache-tomcat-7.0.105.tar.gz
tar xzvf apache-tomcat-7.0.105.tar.gz
# 下载jenkins并放入Tomcat中
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.256/jenkins.war
mv jenkins.war apache-tomcat-7.0.105/webapps
注意,本文的实验环境是 Java8。
另外,MacOS下可使用以下命令安装:
brew cask install adoptopenjdk8
另外,我们可以通过 Jenkins CLI 来下载和启动 Jenkins
jcli center download --war-version 2.256
启动
Tomcat 分别支持以交互式、守护进程的方式来启动,如果你对这两个概念还不够清楚的话,我下面会给出简单的解释。
- 交互式:执行的命令会阻塞当前窗口,直到程序退出后才会结束。
- 守护进程:命令执行完成后,立刻结束,但是程序不会退出,会在后台一直运行。
当我们学习、调试时,可以采用交互式的方式来启动,这样的话,会比较方便。当我们要在服务器上运行时,多半情况下是要以守护进程的方式来运行。
下面,我会 Unix(Linux、macOS)为环境来给出相关的命令。
? 交互式
# 进入 Tomcat 的根目录下,执行命令 ./bin/catalina.sh run
./bin/catalina.sh run
? 守护进程
进入 Tomcat 的根目录下
# 启动
./bin/catalina.sh start
# 停止
./bin/catalina.sh stop
? Tomcat 目录结构
webapps/jenkins
├── ColorFormatter.class
├── JNLPMain.class
├── LogFileOutputStream$1.class
├── LogFileOutputStream$2.class
├── LogFileOutputStream.class
├── META-INF
├── Main$FileAndDescription.class
├── Main.class
├── MainDialog$1$1.class
├── MainDialog$1.class
├── MainDialog.class
├── WEB-INF
├── bootstrap
├── css
├── dc-license.txt
├── executable
├── favicon.ico
├── help
├── images
├── jsbundles
├── robots.txt
├── scripts
└── winstone.jar
访问
Tomcat 默认的端口是 8080,如果你安装在本地的话,可以通过下面的方式来访问:
http://localhost:8080/jenkins/
如果你的 Jenkins 是首次启动访问的话,根据网络情况所等待的时间长短是不相同的。因为此时 Jenkins 需要从更新中心下载插件信息。当插件信息下载成功后,你需要输入初始 Token(初始密码)才可以进入到配置初始化界面。
Token (初始密码)的值会保存在该文件中:
~/.jenkins/secrets/initialAdminPassword
- 景驰落户广州 王劲称不知百度为何指控 四条回应两大疑点
- 全球各行业2020年将需要270万位数据科学家
- 解决iOS 版Safari 中浮动(float)导致页面右侧偏移的bug
- 学而思网校又玩大了:引入人工智能技术,办了一场“人机对话”英语赛事
- 全球首个机器人公民索菲亚亮相2017双12知商节 引爆全场知识产权新高潮
- WP Settings Generator:生成WordPress设置相关代码的工具
- Reactjs 入门基础(三)
- 小谈中文环境下中文排版的font-family 字体选择
- WordPress 的几个高级调试( Debug)技巧
- Customizer Library:主题“自定义”功能的WordPress类库
- Reactjs 入门基础(二)
- WordPress中当评论审核通过时候给评论者发邮件
- Reactjs 入门基础(一)
- Option Framework 框架的三个自定义技巧
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android开发之CheckBox的简单使用与监听功能示例
- Android将图片上传到php服务器的实例代码
- Android图片识别应用详解
- Android 列表形式的切换的示例代码
- Android 拍照并对照片进行裁剪和压缩实例详解
- Android 多线程实现重复启动与停止的服务
- Android 简单的图片查看器源码实现
- jmeter在linux系统下运行及本地内存调优的方法详解
- Android实现录音功能实现实例(MediaRecorder)
- Linux下9种优秀的代码比对工具推荐小结
- Android开发实现在Wifi下获取本地IP地址的方法
- Android基于Glide v4.x的图片加载进度监听
- Android如何通过scheme跳转界面
- Android EditText实现输入金额类型详解
- ubuntu20.04中文输入法安装步骤