Jenkins——持续集成及Jenkins介绍和安装配置(插件,用户权限,凭据,Maven安装打包,配置tomcat用户权限)

持续集成及Jenkins介绍

软件开发生命周期

软件开发生命周期又叫做SDLC(Software Development Life Cycle),它是集合了计划、开发、测试和部署过程的集合

在这里插入图片描述
Requirement Analysis(需求分析)

  • 这是生命周期的第一阶段,根据项目需求,团队执行一个可行性计划的分析。
  • 项目需求可能是公司内部或者客户提出的。这阶段主要是对信息的收集,也有可能是对现有项目的改善和重新做一个新的项目。
  • 还要分析项目的预算多长,可以从哪方面受益及布局,这也是项目创建的目标。

Design(设计)

  • 第二阶段就是设计阶段,系统架构和满意状态(就是要做成什么样子,有什么功能),和创建一个项目计划。计划可以使用图表,布局设计或者文者的方式呈现。

Implementation(实现/实施)

  • 第三阶段就是实现阶段,项目经理创建和分配工作给开者,开发者根据任务和在设计阶段定义的目标进行开发代码。依据项目的大小和复杂程度,可以需要数月或更长时间才能完成。

Testing(测试)

  • 测试人员进行代码测试 ,包括功能测试、代码测试、压力测试等。

Evolution(进化)

  • 最后进阶段就是对产品不断的进化改进和维护阶段,根据用户的使用情况,可能需要对某功能进行修
    改,bug修复,功能增加等。

持续集成

持续集成( Continuous integration , 简称 CI )指的是,频繁地(一天多次)将代码集成到主干。

持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。
在这里插入图片描述

  1. 提交
    流程的第一步,是开发者向代码仓库提交代码。所有后面的步骤都始于本地代码的一次提交(commit)

  2. 测试(第一轮)
    代码仓库对commit操作配置了钩子(hook),只要提交代码或者合并进主干,就会跑自动化测试

  3. 构建
    通过第一轮测试,代码就可以合并进主干,就算可以交付了
    交付后,就先进行构建(build),再进入第二轮测试。所谓构建,指的是将源码转换为可以运行的实
    际代码,比如安装依赖,配置各种资源(样式表、JS脚本、图片)等等

  4. 测试(第二轮)
    构建完成,就要进行第二轮测试。如果第一轮已经涵盖了所有测试内容,第二轮可以省略,当然,这时构建步骤也要移到第一轮测试前面

  5. 部署
    过了第二轮测试,当前代码就是一个可以直接部署的版本(artifact)。将这个版本的所有文件打包(tar filename.tar * )存档,发到生产服务器

  6. 回滚
    一旦当前版本发生问题,就要回滚到上一个版本的构建结果。最简单的做法就是修改一下符号链接,指向上一个版本的目录

持续集成的组成要素

  • 一个自动构建过程, 从检出代码、 编译构建、 运行测试、 结果记录、 测试统计等都是自动完成的, 无需人工干预。
  • 一个代码存储库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库,一般使用SVN或Git。
  • 一个持续集成服务器Jenkins 就是一个配置简单和使用方便的持续集成服务器

在这里插入图片描述

持续集成的好处

  1. 降低风险,由于持续集成不断去构建,编译和测试,可以很早期发现问题,所以修复的代价就少
  2. 对系统健康持续检查,减少发布风险带来的问题
  3. 减少重复性工作
  4. 持续部署,提供可部署单元包
  5. 持续交付可供使用的版本
  6. 增强团队信心

Jenkins介绍

Jenkins 是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。

Jenkins开源帮助我们自动构建各类项目。Jenkins强大的插件式,使得Jenkins可以集成很多软件,可以帮助我们持续集成我们的工程项目。官网

Jenkins的特征

  • 开源的Java语言开发持续集成工具,支持持续集成,持续部署
  • 易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理
  • 消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告
  • 分布式构建:支持Jenkins能够让多台计算机一起构建/测试
  • 文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等
  • 丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,svn,maven,docker等

Jenkins安装和持续集成环境配置

在这里插入图片描述

  1. 首先,开发人员每天进行代码提交,提交到Git仓库
  2. 然后,Jenkins作为持续集成工具,使用Git工具到Git仓库拉取代码到集成服务器,再配合JDK,Maven等软件完成代码编译,代码测试与审查,测试,打包等工作,在这个过程中每一步出错,都重新再执行一次整个流程
  3. 最后,Jenkins把生成的jar或war包分发到测试服务器或者生产服务器,测试人员或用户就可以访问应用。
角色ip安装软件
代码托管服务器192.168.188.97Gitlab-12.9.5
持续集成服务器192.168.188.98Jenkins 2.290-1.1,JDK1.8,Maven3.8.1 Git,SonarQube
应用测试服务器192.168.188.99JDK1.8,Tomcat8.5

Gitlab代码托管服务器安装

下载 Centos7 gitlab 12.9.5社区版

安装相关依赖
yum -y install policycoreutils openssh-server openssh-clients postfix policycoreutils-python


设置postfix开机自启,并启动,postfix支持gitlab发信功能
systemctl enable postfix && systemctl start postfix

关闭防火墙
关闭selinux安全中心

将下载的gitlab上传至服务器并安装
rpm -ivh gitlab-ce-12.9.5-ce.0.el7.x86_64.rpm

安装成功
在这里插入图片描述

修改gitlab配置
vim /etc/gitlab/gitlab.rb

修改gitlab访问地址和端口,默认为80,我们改为82
external_url 'http://192.168.188.97:82'
nginx['listen_port'] = 82

修改时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'

重载配置及启动gitlab
gitlab-ctl reconfigure	# 这个命令会执行几分钟
gitlab-ctl restart

浏览器登录gitlab仓库

第一次需要修改root账户密码
在这里插入图片描述
在这里插入图片描述
登陆成功
在这里插入图片描述

Gitlab添加组、创建用户、创建项目

创建组

使用管理员 root 创建组,一个组里面可以有多个项目分支,可以将开发添加到组里面进行设置权限,不同的组就是公司不同的开发项目或者服务模块,不同的组添加不同的开发即可实现对开发设置权限的管理
在这里插入图片描述
在这里插入图片描述
创建一个项目
在这里插入图片描述
在这里插入图片描述

创建用户
点击上面的小扳手
在这里插入图片描述
点击new user
在这里插入图片描述
选择普通用户类型
在这里插入图片描述
创建成功之后,再次编辑用户,可给用户设置密码
在这里插入图片描述
将新建用户分配到之前创建的组里面
用户可用分配5种角色
在这里插入图片描述
Gitlab用户在组里面有5种不同权限:

  • Guest:可以创建issue、发表评论,不能读写版本库
  • Reporter:可以克隆代码,不能提交,QA、PM可以赋予这个权限
  • Developer:可以克隆代码、开发、提交、push,普通开发可以赋予这个权限
  • Maintainer:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心开发可以赋予这个权限
  • Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组组长可以赋予这个权限

我们为新用户分配一个owner权限 将其拉入组内
在这里插入图片描述
使用新用户登录gitlab

源码上传到Gitlab仓库

写一个简单的微服务
在这里插入图片描述

开启版本控制

在这里插入图片描述
选择Git
在这里插入图片描述
提交代码到本地仓库
先Add到缓存区
右键项目选择Git
在这里插入图片描述
再Commit到本地仓库
在这里插入图片描述
添加远程仓库地址
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后推送到Gitlab项目仓库中
在这里插入图片描述
进入仓库查看
在这里插入图片描述

Jenkins安装

接下来我们在Jenkins服务器上操作

Jenkins需要依赖JDK,所以先安装JDK1.8
yum install -y java-1.8.0-openjdk* 

安装目录为:/usr/lib/jvm

[root@jenkins ~]# cd /usr/lib/jvm
[root@jenkins jvm]# ls
java                                             java-openjdk       jre-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64
java-1.8.0                                       jre                jre-openjdk
java-1.8.0-openjdk                               jre-1.8.0
java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64  jre-1.8.0-openjdk

获取jenkins安装包

下载jenkins安装包
下载地址

上传至服务器
安装
rpm -ivh jenkins-2.290-1.1.noarch.rpm 

修改Jenkins配置
vim /etc/sysconfig/jenkins 

修改jenkins操作的用户为root
JENKINS_USER="root"

修改端口 默认是8080 我们改成8888
JENKINS_PORT="8888"

启动Jenkins
service jenkins start

通过浏览器ip+端口

输入密码
在这里插入图片描述
因为Jenkins插件需要连接默认官网下载,速度非常慢,而且经过会失败,所以我们暂时先跳过插件安装

点右边选择插件安装
在这里插入图片描述
选择
在这里插入图片描述
创建用户
在这里插入图片描述
在这里插入图片描述

Jenkins插件管理

Jenkins国外官方插件地址下载速度非常慢,所以可以修改为国内插件地址
Jenkins->Manage Jenkins->Manage Plugins,点击Available

在这里插入图片描述
这样做是为了把Jenkins官方的插件列表下载到本地,接着修改地址文件,替换为国内插件地址

/var/lib/jenkins/是jenkins的目录

[root@jenkins ~]# cd /var/lib/jenkins/
[root@jenkins jenkins]# ls
config.xml                                      jenkins.telemetry.Correlator.xml  secret.key
hudson.model.UpdateCenter.xml                   jobs                              secret.key.not-so-secret
identity.key.enc                                logs                              secrets
jenkins.install.InstallUtil.lastExecVersion     nodeMonitors.xml                  updates
jenkins.install.UpgradeWizard.state             nodes                             userContent
jenkins.model.JenkinsLocationConfiguration.xml  plugins                           users
[root@jenkins jenkins]# cd updates/
[root@jenkins updates]# ls
default.json  hudson.tasks.Maven.MavenInstaller

default.json就是插件下载地址 

我们修改插件地址

sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

最后,Manage Plugins点击Advanced,把Update Site改为国内插件下载地址

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

在这里插入图片描述
在浏览器ip后面/restart 然后重启jenkins
在这里插入图片描述
下载中文汉化包
在这里插入图片描述
在这里插入图片描述
重启后发现已经汉化
在这里插入图片描述

Jenkins用户权限管理

我们可以利用Role-based Authorization Strategy 插件来管理Jenkins用户权限
在这里插入图片描述
在这里插入图片描述
选择
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建一个角色用有读权限
在这里插入图片描述
创建两个角色可以访问java项目和springboot
在这里插入图片描述
在这里插入图片描述
创建两个新的用户
在这里插入图片描述
我们通过新创建用户登录jenkins 发现没有权限
在这里插入图片描述
我们通过管理员账号给新用户分配角色
都分配基本的登陆权限
然后xiaotian账号只能访问java.*项目
zhuzhu只能访问springboot.*项目
在这里插入图片描述
在这里插入图片描述
创建项目进行权限测试
在这里插入图片描述
创建两个项目
在这里插入图片描述
使用不同账户登陆验证
xiaotian只能看到java01
在这里插入图片描述
zhuzhu只能看到springboot01
在这里插入图片描述

Jenkins凭证管理

凭据可以用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等,以便Jenkins可以和这些第三方的应用进行交互。

安装Credentials Binding插件
要在Jenkins使用凭证管理功能,需要安装Credentials Binding插件

在这里插入图片描述
如果遇到下载失败的 则单独搜索这个插件名去下载 就可以了
在这里插入图片描述
下载完成之后会在安全里面出现凭据
在这里插入图片描述
新建一个凭据
在这里插入图片描述
在这里插入图片描述
可以添加的凭证有5种:

  1. Username with password:用户名和密码
  2. SSH Username with private key: 使用SSH用户和密钥
  3. Secret file:需要保密的文本文件,使用时Jenkins会将文件复制到一个临时目录中,再将文件路径设置到一个变量中,等构建结束后,所复制的Secret file就会被删除
  4. Secret text:需要保存的一个加密的文本串,如钉钉机器人或Github的api token
  5. Certificate:通过上传证书文件的方式

常用的凭证类型有:Username with password用户密码SSH Username with private keySSH
密钥

配置凭据 将gitlab上面的代码拉取到jenkins

为了让Jenkins支持从Gitlab拉取源码,需要安装Git插件以及在CentOS7上安装Git工具。

下载完成之后 ,去服务器上安装Git
在这里插入图片描述

yum install -y git  

git --version

[root@jenkins updates]# git --version
git version 1.8.3.1
创建用户密码类型凭证

Jenkins->凭证->系统->全局凭证->添加凭证
这里不要搞混了,添加的账号和密码是gitlab
在这里插入图片描述

我们去创建一个测试项目test01
在这里插入图片描述
因为我们凭据使用的是账户密码 因此git拉去方式选择http方式
选择之前设置的凭据
在这里插入图片描述

选择构建项目
在这里插入图片描述
控制台可以查看拉取过程
在这里插入图片描述

我们还可以去服务器上查看拉取的代码
[root@jenkins updates]# cd /var/lib/jenkins/workspace/
[root@jenkins workspace]# ls
test01  test01@tmp
[root@jenkins workspace]# cd test01
[root@jenkins test01]# ls
Dockerfile  mvnw  mvnw.cmd  pom.xml  README.md  src

发现代码已经成功拉取
创建SSH密钥类型凭据

SSH免密登录示意图
在这里插入图片描述

在jenkins服务器上
使用root用户生成公钥和私钥
ssh-keygen

[root@jenkins test01]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:uaNyKPfRpidfpY5X/3uFs35z1uKeRcLyDyS7SBNIztY root@jenkins
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|                 |
|        .        |
|       + +   .   |
|        S E + +..|
|       o . +.*oo.|
|     .. = =...oo+|
|  . + o=.*.o .+**|
|   o +++o.o .+=*B|
+----[SHA256]-----+

[root@jenkins test01]# cd ~/.ssh
[root@jenkins .ssh]# ls
authorized_keys  id_rsa  id_rsa.pub

id_rsa:私钥
id_rsa.pub:公钥

查看公钥
[root@jenkins .ssh]# cat id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChllQOWhOT9D/AOnmFlOw9n/iS5paokmMsmZpW7okORv7SGTa/W0BJ5kiP+zt0JxLKbZc1fp3teOU9wVrggjrc7
QQZDWhKDA4ughlI8OtQE9PflgYA/0SvlB+wxLPYInBNKMmhyGctxJyXO/Mnvvliu7zomwPNpD5HWoxXFW3Q+g5XphhdTcWuhiPxzfaL51xQqsalwgYruD3S335KyU0E0c1IyAdCfYUzRTfplTlxfKq692lfyas9eKihaVT3rkMYYF0z1HVRfiN8qdvJbpPJTDIfTXJ2cW8S+YBGCSEwaWvEzQ5GIgLABpdcCuFJRB5rqrzTgziJEPuv5mKhlE6p root@jenkins

通过浏览器打开gitlab
使用root账号登录 点击头像选择设置

在这里插入图片描述
在这里插入图片描述
公钥上传完毕
在这里插入图片描述
去jenkins上面添加SSH类型的凭证
在这里插入图片描述
需要添加root的私钥

[root@jenkins .ssh]# ls
authorized_keys  id_rsa  id_rsa.pub
[root@jenkins .ssh]# cat id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEpgIBAAKCAQEAoZZUDloTk/Q/wDp5hZTsPZ/4kuaWqJJjLJmaVu6JDkb+0hk2
v1tASeZIj/s7dCcSym2XNX6d7XjlPcFa4II63O0EGQ1oSgwOLoIZSPDrUBPT35YG
AP9Er5QfsMSz2CJwTSjJochnLcSclzvzJ775Yru86JsDzaQ+R1qMVxVt0PoOV6YY
XU3FroYj8c32i+dcUKrGpcIGK7g90t9+SslNBNHNSMgHQn2FM0U36ZU5cXyquvdp
X8mrPXiooWlU965DGGBdM9R1UX4jfKnbyW6TyUwyH01ydnFvEvmARgkhMGlrxM0O
RiICwAaXXArhSUQea6q804M4iRD7r+ZioZROqQIDAQABAoIBAQCcQbHRGxwZlDVd
324KVkPJJ/wJmoCQTNcolvUgIZVZwB/E7er6SvS1QcJjsXAB15MdO7LgYSu5K5KL
EIKf3m+rmmu/Ci8Sg+vm35ox5f+3tSTK7tmpdzBllZi7qMu9Mzhj9RBeqVvVb255
9NgjVFL3PlLkoJqh7rTm7VIPGELUtKEYmjFZVkslx5vXQnoyxkR31FLN/q5/cu3v
Fp5RBVsTKbXxke4JPd1nru0avSsnCBUKuqobYx/5nScwzsRUVpfVQ2LRdVAQM70D
XHxvvxqqHMY/x2a+4mzH0INQGf2vbCHFVoxOCFAStYqLv9nA2/IPS9yfC+bKMWFj
5zHzbBvtAoGBANQ2pPc7aW9iR5wgJ9nNyOk1hyt3cElkP2PYkpxvLzbx3t7xkXS7
ClHMzXYAmTJdjG/mZbYY3w25Lglm9zMXq7hn94XHBQ7SskIjMGBPsACjVK6HGIrI
2bTrzRCEkbqNueS/JhU9Lgry7IJDuVs8OjRrND5TE/rmbsLoeGTeb9QXAoGBAMLt
jHuEVbCsDpFTBNwWE3ckGnyQjoNRSMCRzTbAl2heGo686SuJ5O7P8MOWe1Cr+WQX
DCo23N4aw7J35esi1K5j6/Ul3mzNhqrhlfQDAbiLbYydz4+rY/ePSw8gKG0xomYA
cbCb/58RCOryO6HAJzE7gf6qaQ2QwzGF5TQ7Uus/AoGBAImfCmp+8AhY3wHD5LQd
/S4oFYm9wmcGCQnyWFn0zNTAFH3WgTMHXVDhFVlyV+dOvZWP/+QQyw52SgG08ZkD
v8wuOFpcT85mG05CzcuXwhcX1QH+AI94Y58t0GXm4y7tXGGZCNR7QZG+KlzsGJev
PjviThYhAHMU3z2tTu5zRmhvAoGBAIAp1B46SmUZG5LtdNqIIVBKiqewHCO3RBBp
TPZc9rAGf4uuJdkcl0t1qSXQQVAvYpAuny76V4opKtajAqbxhckLpc7PkUkUcSDV
pdSETZNbCTJVaG1cESRqML3HNQ1mfxJ15Epsp0uc1bI0hoS5ZIt4RuZ8gQoMTmq3
UJZhEwndAoGBAMyxN5CLB6l95pbqBnSK+Q18CWieP3dTml9KOiBkOm3SuWTLR1j4
BkNuMvcwbTljDjB62nANZDxT6YcS7/sAe6k2PAbcuyTamqstwkbVeVB+Ev/EDerb
QuifSB8wN3Te+HYoAsl2FQJYi+ffeJ9NCCPLP1uICMsDE9JD7hUpdxQJ
-----END RSA PRIVATE KEY-----

将私钥add进凭据
在这里插入图片描述在这里插入图片描述
添加一个新项目进行测试
在这里插入图片描述
将gitlab上面ssh 链接复制到项目里面
在这里插入图片描述
构建项目
在这里插入图片描述
成功啦
再去服务器上面查看git的代码

[root@jenkins .ssh]# cd /var/lib/jenkins/workspace/test02
[root@jenkins test02]# ls
Dockerfile  mvnw  mvnw.cmd  pom.xml  README.md  src

test02就是刚刚拉取的代码

Maven安装及配置

在Jenkins集成服务器上,我们需要安装Maven来编译和打包项目
下载地址
我下载的 apache-maven-3.8.1-bin.tar.gz

上传至jenkens服务器
解包
tar xf apache-maven-3.8.1-bin.tar.gz 

mv apache-maven-3.8.1 /usr/local
cd /usr/local
mv apache-maven-3.8.1 maven

修改环境变量
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

source /etc/profile

查看版本
mvn -v

[root@jenkins local]# mvn -v
Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d)
Maven home: /usr/local/maven
Java version: 1.8.0_292, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1127.19.1.el7.x86_64", arch: "amd64", family: "unix"

全局工具配置关联JDK和Maven

浏览器来到全局工具配置
在这里插入图片描述
配置jdk
在这里插入图片描述
配置maven
在这里插入图片描述

添加Jenkins全局变量

在系统配置中的全局属性
添加三个全局变量

  • JAVA_HOME
  • M2_HOME
  • PATH+EXTRA
    在这里插入图片描述
    在这里插入图片描述
    修改Maven的settings.xml提高下载速度
mkdir /root/repo

vim /usr/local/maven/conf/settings.xml

修改本地仓库路径
  -->
  <localRepository>/root/repo</localRepository>
  
<mirror>
 <id>alimaven</id>
 <name>aliyun maven</name>
 <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
 <mirrorOf>central</mirrorOf>
</mirror>

在这里插入图片描述在这里插入图片描述

测试Maven是否配置成功

进入test02项目的配置
构建下面添加shell脚本
在这里插入图片描述
让mvn先清空字节码和构建好的包
然后package 构建一个war包
在这里插入图片描述
构建
在这里插入图片描述
控制台查看输入
正在使用配置的阿里源拉取包
在这里插入图片描述
等待一会儿 项目成功编译和打包
在这里插入图片描述
进入项目目录下查看
在这里插入图片描述

Tomcat安装和配置

进入tomcat服务器
安装JDK
yum install -y  java-1.8.0-openjdk* 

java -version

tar xf apache-tomcat-8.5.16.tar.gz -C /usr/local

cd /usr/local
mv apache-tomcat-8.5.16 tomcat

启动tomcat
cd /usr/local/tomcat/bin
./startup.sh 

通过浏览器测试

在这里插入图片描述

配置Tomcat用户角色权限

我们在tomcat网页下点击
在这里插入图片描述
发现权限不足
在这里插入图片描述
后续Jenkins部署项目到Tomcat服务器,需要用到Tomcat的用户,所以修改tomcat以下配置,添加用户及权限

cd /usr/local/tomcat/conf/
vim tomcat-users.xml

添加角色
<role rolename="tomcat"/> 
<role rolename="role1"/> 
<role rolename="manager-script"/> 
<role rolename="manager-gui"/> 
<role rolename="manager-status"/> 
<role rolename="admin-gui"/> 
<role rolename="admin-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/>

在这里插入图片描述

用户和密码都是:tomcat
为了能够刚才配置的用户登录到Tomcat,还需要修改以下配置

vim /usr/local/tomcat/webapps/manager/META-INF/context.xml

注释
  <!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
  -->

注意:xml文件注释是 <!--	-->

在这里插入图片描述
重启tomcat
点击manager webapp
输入tomcat tomcat
在这里插入图片描述
在这里插入图片描述

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值