Jenkins2.107.2+github+tomcat+jdk1.8的安装和ansible自动部署
nanshan 2024-10-22 12:53 11 浏览 0 评论
Jenkins2.107.2+github+tomcat8.0.36+jdk1.8的安装和ansible+解压和重启脚本自动部署web网站到两台tomcat
如果对运维课程感兴趣,可以在b站上或csdn上搜索我的账号: 运维实战课程,可以关注我,学习更多免费的运维实战技术视频
一、github上创建远程仓库test01和本地git推送代码到github远程仓库test01
1.github上创建仓库:ssshijq/Duyao001.com
点击start a project,如下:
输入仓库名,选择public,点击create repository,如下:
获取两个类型的地址:
git推送到远程仓库的地址: https://github.com/ssshijq/test01.git
Jenkins从远程仓库拉取代码的地址:git@github.com:ssshijq/test01.git
2.本地git将代码推送到github远程仓库test01
1)git安装:(直接下一步安装即可)
2)自保家门:
开始——gitbash,显示出命令行:
yuanww@yuanww-PC MINGW64 /
$ git config --global user.name shi #你是谁
yuanww@yuanww-PC MINGW64 /
$ git config --global user.email 1441107787@qq.com #怎么联系到你
yuanww@yuanww-PC MINGW64 /
3)创建本地仓库和开发代码:
yuanww@yuanww-PC MINGW64 /
$ cd E:/
yuanww@yuanww-PC MINGW64 /e
$ mkdir test01 #创建一个空目录
yuanww@yuanww-PC MINGW64 /e
$ cd test01
yuanww@yuanww-PC MINGW64 /e/test01
$ ls
yuanww@yuanww-PC MINGW64 /e/test01
$ git init #将空目录初始化成本地仓库
Initialized empty Git repository in E:/test01/.git/
yuanww@yuanww-PC MINGW64 /e/test01 (master)
$ ls
空
yuanww@yuanww-PC MINGW64 /e/test01 (master)
$ ls -a
./ ../ .git/ #隐藏文件都不要动
yuanww@yuanww-PC MINGW64 /e/test01 (master)
在本地仓库test01中开发代码:(将相配合的svn文件夹里的代码复制到本地test01仓库(svn文件夹里包括隐藏文件))
上面为工作区开发代码,下面为将代码按步骤提交到本地仓库和推送到远程github仓库:
开始——git bash,如下:
yuanww@yuanww-PC MINGW64 /
$ cd E:/test01
yuanww@yuanww-PC MINGW64 /e/test01 (master)
$ ls
Jenkinsfile pom.xml README.txt src/
yuanww@yuanww-PC MINGW64 /e/test01 (master)
$ git branch
yuanww@yuanww-PC MINGW64 /e/test01 (master)
$ git status
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
.svn/
Jenkinsfile
README.txt
pom.xml
src/
nothing added to commit but untracked files present (use "git add" to track)
yuanww@yuanww-PC MINGW64 /e/test01 (master)
$ git add .
..............
yuanww@yuanww-PC MINGW64 /e/test01 (master)
$ git commit -m "tijiao daima"
..............
$ git status
On branch master
nothing to commit, working tree clean
yuanww@yuanww-PC MINGW64 /e/test01 (master)
$ git push https://github.com/ssshijq/test01.git master #本地仓库代码推送到远程github仓库test01
Username for 'https://github.com': ssshijq #github的账号,中间还要输入该账号密码,此处省,说明一下
Counting objects: 1193, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1130/1130), done.
Writing objects: 100% (1193/1193), 8.12 MiB | 39.00 KiB/s, done.
Total 1193 (delta 26), reused 0 (delta 0)
remote: Resolving deltas: 100% (26/26), done.
To https://github.com/ssshijq/test01.git
* [new branch] master -> master
yuanww@yuanww-PC MINGW64 /e/test01 (master)
登录github,ssshijq/Duyao001.com 查看test01仓库中代码有没有推送上来:
二、jenkins2.107的安装部署+git构建
1.Jenkins安装部署 (在192.168.14.128上部署)
说明:由于Jenkins属于一个JAVA代码,需要java容器才能运行jenkins,所以需要安装jdk+tomcat,通过tomcat容器发布jenkins.
1)安装tomcat环境
[root@bogon ~]# ls /tomcat/
apache-tomcat-8.0.36.tar.gz jdk-8u144-linux-x64.tar.gz
[root@bogon ~]# cd /tomcat/
[root@bogon tomcat]# ls
apache-tomcat-8.0.36.tar.gz jdk-8u144-linux-x64.tar.gz
[root@bogon tomcat]# tar -zxf jdk-8u144-linux-x64.tar.gz
[root@bogon tomcat]# ls
apache-tomcat-8.0.36.tar.gz jdk1.8.0_144 jdk-8u144-linux-x64.tar.gz
[root@bogon tomcat]# mv jdk1.8.0_144/ /usr/local/
[root@bogon tomcat]# ls /usr/local/jdk1.8.0_144/
bin include lib README.html THIRDPARTYLICENSEREADME-JAVAFX.txt
COPYRIGHT javafx-src.zip LICENSE release THIRDPARTYLICENSEREADME.txt
db jre man src.zip
[root@bogon tomcat]# vim /etc/profile
#最下面添加:
export JAVA_HOME=/usr/local/jdk1.8.0_144
export CLASS_PATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
[root@bogon tomcat]# source /etc/profile
[root@bogon tomcat]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
[root@bogon tomcat]# ls
apache-tomcat-8.0.36.tar.gz jdk-8u144-linux-x64.tar.gz
[root@bogon tomcat]# tar -zxf apache-tomcat-8.0.36.tar.gz
[root@bogon tomcat]# ls
apache-tomcat-8.0.36 apache-tomcat-8.0.36.tar.gz jdk-8u144-linux-x64.tar.gz
[root@bogon tomcat]# mv apache-tomcat-8.0.36 /usr/local/
[root@bogon tomcat]# ls /usr/local/apache-tomcat-8.0.36/
bin conf lib LICENSE logs NOTICE RELEASE-NOTES RUNNING.txt temp webapps work
2)上传jenkins.war包到tomcat站点目录,安装部署jenkins
[root@bogon tomcat]# cd /usr/local/apache-tomcat-8.0.36/webapps/
[root@bogon webapps]# ls
docs examples host-manager manager ROOT
[root@bogon webapps]# rz
上传jenkins.war包
[root@bogon webapps]# ls
docs examples host-manager jenkins.war manager ROOT
启动tomcat自动会部署jenkins.war包
[root@bogon webapps]# /usr/local/apache-tomcat-8.0.36/bin/startup.sh
[root@bogon webapps]# tailf /usr/local/apache-tomcat-8.0.36/logs/catalina.out
*************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
de181bec9b3149e88c119b93f53d6f36
This may also be found at: /root/.jenkins/secrets/initialAdminPassword
输入默认的初始密码:de181bec9b3149e88c119b93f53d6f36,点击继续,如下:
点击推荐安装的插件(开始不熟悉,就选择他推荐的,后续也可以自己再另外安装),如下:
插件都安装完成后,如下:
先不创建用户,点击使用admin账号继续,如下:
点击开始使用jenkins,如下:
设置管理员admin的密码:从右上角用户处,点击设置,如下:
设置管理员admin密码后并保存,admin/123456,重新退出后,使用新密码登录后如下:
2.jenkins的服务器上先安装maven
jenkins底层是使用maven进行编译、打包、构建,(jenkins只是一个将其连接排序的过程),所以需要先[root@bogon ~]# mkdir /maven
[root@bogon ~]# cd /maven/
[root@bogon maven]# rz
上传maven包
[root@bogon maven]# ls
apache-maven-3.3.9-bin.tar.gz
[root@bogon maven]# tar -zxf apache-maven-3.3.9-bin.tar.gz
[root@bogon maven]# ls
apache-maven-3.3.9 apache-maven-3.3.9-bin.tar.gz
[root@bogon maven]# mv apache-maven-3.3.9 /usr/local/maven
[root@bogon maven]# ls /usr/local/maven/
bin boot conf lib LICENSE NOTICE README.txt
[root@bogon maven]# ls /usr/local/maven/bin/ #里面有命令mvn,可以接很多参数打包、构建、编译等
m2.conf mvn mvn.cmd mvnDebug mvnDebug.cmd mvnyjp
[root@bogon maven]# ls /root/.jenkins/
config.xml jobs secrets
hudson.model.UpdateCenter.xml logs updates
hudson.plugins.git.GitTool.xml nodeMonitors.xml userContent
identity.key.enc nodes users
jenkins.CLI.xml plugins workflow-libs
jenkins.install.InstallUtil.lastExecVersion secret.key
jenkins.install.UpgradeWizard.state secret.key.not-so-secret
[root@bogon maven]# ls /root/.jenkins/ |wc -l
19
3.安装git命令:
[root@bogon maven]# yum -y install git
[root@bogon maven]# which git
/usr/bin/git
4.Jenkins的界面操作(全局配置配置jdk安装路径、git路径、maven安装路径)
点击系统管理,如下:
点击全局工具配置,如下:
配置好jdk、git和maven安装路径后,点击保存即可,如下:
5.安装maven插件、SSH插件、Publish Over SSH插件、GitHub Integration插件
1)安装maven插件:点击系统管理——管理插件,如下:
在可选插件中过滤Maven,选择maven插件,点击直接安装,如下:
安装完成后,返回主页面,如下:
2)安装SSH插件、Publish Over SSH插件:点击系统管理——管理插件,如下:
点击直接安装,如下:
3)安装GitHub Integration插件 点击系统管理——管理插件,如下:
点击直接安装,如下:
6.Jenkins服务器上的密钥对创建和jenkins界面的私钥配置:
1)服务器私钥创建:
[root@bogon ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
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:
9b:4c:fc:2e:e4:10:6f:87:dd:b5:dc:25:d0:6c:0c:6d root@bogon
The key's randomart image is:
+--[ RSA 2048]----+
| .* |
| . E |
| + |
| .. o .|
| oSo . o +.|
| .o=+o . o .|
| =+.. |
| o. |
| .. |
+-----------------+
[root@bogon ~]# ls /root/.ssh/
id_rsa id_rsa.pub
[root@bogon ~]# cat /root/.ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEoQIBAAKCAQEA1Ldqk7tJkwQcR3nRw1tqrb11b+bkyJz8TWj+U68jLNVy28zy
9zwd6VPoVYeI7Ezn2U+ZpvxN5MpHBB7UH0lWmHdbd/x1FSpv7g7Bs6sD+PufluRX
xaP+rFMeTqRR01Y1Xot78AVvFeH0Wxi9o1soYol6IJB8nc4ZCXWSlLH/dOvIYV7P
OBDJaco1E2EBr8NVPA9hKmyFdhWtoZBDI70fiX0BqgdfGjRtHlCz8hxSvYTx0po2
gNClB1zKHEjN6v36t4P20EYj4D8DzDjqbtfC3SIK5LFHt2t6ezEVVkxhxOOFcsMr
VxOjfYkrYlz0DWpLfItS3fUkO5WgHJL2xCPKkwIBIwKCAQEAvGfwrrvTc5XtKV1E
wvkymeJSEqfvNVfYJ05dmpPOsq5tC9LIkdYpHx5usieWiCbb+v1cNNDXRvxNh06B
XYoZf7oscZZ2VJNNMe/QIsqrv0VENTClgyraQNvnpL1tC6QgpDJmdYEn4C6H+OoH
DQeYzE3hMskd6tsdfWgivjdBWOx6YMKdhVfiXGP5ReR6i+z+ddwzrxQAZ8fnVgX5
gSmi2qtew+2KTyyoQVDRndk3P2gGY8cWfC97pwr4+keU98F3s4u9v/enhBub+0ik
4P7HjREYyc9V+mDKeoKQAsZymi7Q4N8k1CGZWWYVd5e3aY0oar0kLygnT2WzFHk9
3J8tMwKBgQDvNWfrWU09lfRL2U8Yitzw1Z8KRqsg7G6kiYCzOPRkOB0ruapwhpG2
i41zqlI6Q5C6b5Nrxec4i0tqXpOrPTW9MJrCfl46eh6m1Zx9rB4SHWrysv8+uXvJ
KGCFaINfTiFSf00E/QSKNhseEnDCB3yz8oT2ue08N386iD+DsCDB7wKBgQDjpfHf
cYFatdimf83i6gQb0NrSNtxb0mp/x3Qr5VeonI3WTPXnEPRsOIDHOrwT6Asn6h3B
3B8rMxWAcZXdlg7XaZ4DP1ywZZ4YNb4FMA2mKLROybduHQ7Mt/sWoFRPhp3bxAaZ
rJ7Xf2Ymn5u9yJBI3/cBvT2rHg7t+RTi6V/VnQKBgA2rR8ROPu2Tik16IcbjXRUT
hW5NLlmnHEPqmaPXXmwgdrIKnAZuFvR9AMTH53ELLNd0Fw15BeX5VMQ/6y5bROY9
SqwHOJWglAmIjJl3jLCT93uVMygn2zAQ75KYQgVyLcozKPj4g+qkAYywmLqhV5VB
DumG950KfEx80G3szqv/AoGADQIrFBUdVaP9wF8TFEfi+kZy53DZZFUqqDdId4ly
uS2EcqVP4VFtDX+SVIcDbtoPRBwBs05oLlqwxYLVXR6EgVZ+DtBrsk7zF1OHM38W
uQmj5z66BkrNpUxXfaLC/TrkcvVCNKrHP4Ofb+vdA4fNuwV71DazERepFOmpbA1V
7vMCgYAQU6ljhfuyqhQupc4WUHlGvOg51COA15V5UDVD4NaXv61gOcoQgCNIPBMt
XPcPlA4EK7MYcnn3zUZZGXl59Nj5dRGcjggoq9XC78rJRxnJLqd5vWxPjt8+q3Xt
x9rOFsN/l1UsbTLsAJom2vQcSbNix/RpzjquG0Qhqt25ocVYMA==
-----END RSA PRIVATE KEY-----
[root@bogon ~]# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA1Ldqk7tJkwQcR3nRw1tqrb11b+bkyJz8TWj+U68jLNVy28zy9zwd6VPoVYeI7Ezn2U+ZpvxN5MpHBB7UH0lWmHdbd/x1FSpv7g7Bs6sD+PufluRXxaP+rFMeTqRR01Y1Xot78AVvFeH0Wxi9o1soYol6IJB8nc4ZCXWSlLH/dOvIYV7POBDJaco1E2EBr8NVPA9hKmyFdhWtoZBDI70fiX0BqgdfGjRtHlCz8hxSvYTx0po2gNClB1zKHEjN6v36t4P20EYj4D8DzDjqbtfC3SIK5LFHt2t6ezEVVkxhxOOFcsMrVxOjfYkrYlz0DWpLfItS3fUkO5WgHJL2xCPKkw== root@bogon
- jenkins界面私钥配置:
在左边系统管理——右边Configure Credentials——左边的Credentials——
左下边System——右边Global credentials (unrestricted)——左边Add Credentials——右边选择:
SSH Username with private key——下面选择Enter directly——将私钥内容填写进去即可,在 Description处填写一个描述名称,作为地址下面选择时候用,上面用户名写成root或其他。
点击系统管理,如下:
点击Configure Credentials,如下:
点击左边的Credentials,如下:
点击左下边System,如下:
点击右边的Global credentials (unrestricted),如下:
点击左边的Add Credentials,如下:
选择:SSH Username with private key——下面选择Enter directly——将私钥内容填写进去即可,在 Description处填写一个描述名称,作为地址下面选择时候用,上面用户名写成root或其他,填写好后,点击ok,如下:
7.gitHub上相应远程仓库test01处配置公钥:
登录github,ssshijq/Duyao001.com,进入test01仓库
点击settings,如下:
点击Deploy keys,如下:
点击Add deploy key,如下:
输入公钥标题(随意),填写公钥内容,点击Add key,如下:
输入账号密码,确认后如下:
8.Jenkins的界面操作(创建任务,配置构建操作)
新建任务中主要配置如下:
GitHub project处勾选并输入地址: git@github.com:ssshijq/test01.git
源码管理处:选择git,并输入地址:git@github.com:ssshijq/test01.git 和下面对应的私钥描述:root(private_key)
分支处:*/master
构建触发器处:各个选项都取消勾选
构建环境处:选择勾选第一个:Delete workspace before build starts
源码库浏览器处:选择自动
build处:输入pom.xml,下面是clean install
点击新建任务,如下:
输入任务名称、选择构建一个maven项目,点击确定,如下:
填写后点击保存即可,如下:
点击立即构建,如下:
点击项目进去,查看输出日志,如下:
成功构建后,如下:
进入主页面,如下:
查看日志输出可以看出构建的war包放在了: /root/.jenkins/workspace/test_goujian/target/edu.war
[root@bogon ~]# ls /root/.jenkins/workspace/test_goujian/target/edu.war
/root/.jenkins/workspace/test_goujian/target/edu.war
[root@bogon ~]# ls /root/.jenkins/ |wc -l
32
9.jenkins服务器上安装ansible并根据前面生成的密钥对配置秘钥,实现无密码登录各个远程服务器,并建立重启tomcat脚本,供各个远程服务器调用(远程服务器:192.168.14.129和192.168.14.130)
1)jenkins服务器上安装ansible,配置操作的远端服务器列表,并配置无密码登录各服务器秘钥:
[root@bogon ~]# yum -y install epel-release
[root@bogon ~]# yum -y install ansible
[root@bogon ~]# vim /etc/ansible/hosts
## [webservers]
## alpha.example.org
## beta.example.org
## 192.168.1.100
## 192.168.1.110
[test] #添加一个组名
192.168.14.129 #添加被管理主机的IP
192.168.14.130 #添加被管理主机的IP
[root@bogon ~]# ls /root/.ssh/
id_rsa id_rsa.pub known_hosts
[root@bogon ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.14.129
[root@bogon ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.14.130
上面第一次发送需要输入对方服务器密码,以后就不用了
[root@bogon ~]# ssh root@192.168.14.129 'ifconfig|head -3'
eth1 Link encap:Ethernet HWaddr 00:0C:29:FB:16:21
inet addr:192.168.14.129 Bcast:192.168.14.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fefb:1621/64 Scope:Link
[root@bogon ~]# ssh root@192.168.14.130 'ifconfig|head -3'
eth1 Link encap:Ethernet HWaddr 00:0C:29:CE:50:E7
inet addr:192.168.14.130 Bcast:192.168.14.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fece:50e7/64 Scope:Link
ansible的基础相关配置:
[root@bogon ~]# vim /etc/ansible/ansible.cfg
……
host_key_checking = False #禁用每次执行ansbile命令检查ssh key host ,默认注释,开启即可
log_path = /var/log/ansible.log #开启日志记录, 默认注释,开启即可
……
[accelerate]
accelerate_port = 5099 #释放,默认注释,也可改变端口号,此处没改
#accelerate_timeout = 30
#accelerate_connect_timeout = 5.0
# The daemon timeout is measured in minutes. This time is measured
# from the last activity to the accelerate daemon.
#accelerate_daemon_timeout = 30
# If set to yes, accelerate_multi_key will allow multiple
# private keys to be uploaded to it, though each user must
# have access to the system via SSH to add a new key. The default
# is "no".
accelerate_multi_key = yes #释放,默认注释
[root@bogon ~]# echo 111 > a.txt
[root@bogon ~]# ls
a.txt
[root@bogon ~]# ansible test -m copy -a "src=/root/a.txt dest=/tmp" #测试向远端发送文件
192.168.14.130 | SUCCESS => {
"changed": true,
"checksum": "63bea2e3b0c7cd2d1f98bc5b7a9951eafcfead0f",
"dest": "/tmp/a.txt",
"gid": 0,
"group": "root",
"md5sum": "1181c1834012245d785120e3505ed169",
"mode": "0644",
"owner": "root",
"secontext": "unconfined_u:object_r:admin_home_t:s0",
"size": 4,
"src": "/root/.ansible/tmp/ansible-tmp-1524062322.82-124827541122766/source",
"state": "file",
"uid": 0
}
192.168.14.129 | SUCCESS => {
"changed": true,
"checksum": "63bea2e3b0c7cd2d1f98bc5b7a9951eafcfead0f",
"dest": "/tmp/a.txt",
"gid": 0,
"group": "root",
"md5sum": "1181c1834012245d785120e3505ed169",
"mode": "0644",
"owner": "root",
"secontext": "unconfined_u:object_r:admin_home_t:s0",
"size": 4,
"src": "/root/.ansible/tmp/ansible-tmp-1524062322.79-99353028688852/source",
"state": "file",
"uid": 0
}
注意远端被管理端: (所有被管理端需要安装:libselinux-python ,此处为192.168.14.129和192.168.14.130上)
[root@localhost ~]# yum install libselinux-python -y
[root@localhost ~]# ls /tmp/ #被管理端192.168.14.129,需要yum -y install libselinux-python
a.txt
[root@localhost ~]# ls /tmp/ #被管理端192.168.14.130,需要yum -y install libselinux-python
a.txt yum.log
2)在jenkins服务器上开发自动重启tomcat的脚本,供各个远端服务器调用
[root@bogon ~]# vim restart_tomcat.sh
#!/bin/bash
export JAVA_HOME=/usr/local/jdk1.8.0_144
TOMCAT_PID=`ps -ef |grep tomcat|grep java|grep -v grep|awk '{print $2}'`
TOMCAT_DIR="/usr/local/tomcat/"
FILES="edu.war"
DES_DIR="/usr/local/tomcat/webapps/ROOT/"
[ -n "$TOMCAT_PID" ] && kill -9 $TOMCAT_PID
cd $DES_DIR
/usr/local/jdk1.8.0_144/bin/jar -xvf $FILES
/bin/sh $TOMCAT_DIR/bin/startup.sh
sleep 10
tail -n 50 $TOMCAT_DIR/logs/catalina.out
wq
10.在jenkins界面上创建第2个任务(自动使用ansible发布已构建的代码并让各个远端机器执行重启tomcat的脚本,自动部署tomcat网站 (使用编译后的war包))
点击新建任务,如下:
输入工程名称,maven类型,点击确定,如下:
在最下面Add post-build step处选择Execute shell,如下:
点击Execute shell,如下:
ansible test -m copy -a "src=/root/.jenkins/workspace/test_goujian/target/edu.war dest=/usr/local/tomcat/webapps/ROOT/" #ansible发布
ssh root@192.168.14.129 'bash -x -s' < /root/restart_tomcat.sh #远端1执行重启tomcat脚本
ssh root@192.168.14.130 'bash -x -s' < /root/restart_tomcat.sh #远端2执行重启tomcat脚本
#远程的客户端把jenkins服务器上的该脚本导入到本地并用bash执行,-x和-s可以作为一个显示。填写shell命令,然后点击保存,如下:
回到主界面,如下:
点击第二步的立即构建,就会自动部署,点击后,如下:
可以点击任务进去,查看日志输出情况,如下:
最后成功后,如下:
注意:因为构建该任务中填写了pom.xml,而又没有用的该pom.xml,也不存在该路径,所以输出日志中有该保报错,但其实是执行成功的,最终部署两台tomcat的web网站已经成功了。
客户端登录浏览器查看后面两个台tomcat的web网站部署完毕:
注意事项:上面第1步骤构建和第2步骤发布是分开进行了操作,建立了两个任务,也可建立在一个任务中,任务上面部分是构建,下面部分是配置执行脚本,这样就可以一个任务就能全部执行,并且不会因为没有pom.xml文件而出现上面步骤的报错。(该项已试验过,没问题)
11.在jenkins界面上创建另一个用户test/123
点击系统管理——管理用户,如下:
点击新建用户,如下:
设置用户信息:test/123,点击新建用户,如下:
退出管理员用户,使用新用户test/123登录后,如下:
三、在192.168.14.129和192.168.14.130上安装tomcat8.0.36+jdk1.8
a)192.168.14.129上:
[root@localhost ~]# ls /tomcat/
apache-tomcat-8.0.36.tar.gz jdk-8u144-linux-x64.tar.gz
[root@localhost ~]# cd /tomcat/
[root@localhost tomcat]# ls
apache-tomcat-8.0.36.tar.gz jdk-8u144-linux-x64.tar.gz
[root@localhost tomcat]# tar -zxf jdk-8u144-linux-x64.tar.gz
[root@localhost tomcat]# ls
apache-tomcat-8.0.36.tar.gz jdk1.8.0_144 jdk-8u144-linux-x64.tar.gz
[root@localhost tomcat]# mv jdk1.8.0_144/ /usr/local/
[root@localhost tomcat]# ls /usr/local/jdk1.8.0_144/
bin include lib README.html THIRDPARTYLICENSEREADME-JAVAFX.txt
COPYRIGHT javafx-src.zip LICENSE release THIRDPARTYLICENSEREADME.txt
db jre man src.zip
[root@localhost tomcat]# vim /etc/profile
#最下面添加:
export JAVA_HOME=/usr/local/jdk1.8.0_144
export CLASS_PATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
[root@localhost tomcat]# source /etc/profile
[root@localhost tomcat]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
[root@localhost tomcat]# ls
apache-tomcat-8.0.36.tar.gz jdk-8u144-linux-x64.tar.gz
[root@localhost tomcat]# tar -zxf apache-tomcat-8.0.36.tar.gz
[root@localhost tomcat]# ls
apache-tomcat-8.0.36 apache-tomcat-8.0.36.tar.gz jdk-8u144-linux-x64.tar.gz
[root@localhost tomcat]# mv apache-tomcat-8.0.36 /usr/local/
[root@localhost tomcat]# ls /usr/local/apache-tomcat-8.0.36/
bin conf lib LICENSE logs NOTICE RELEASE-NOTES RUNNING.txt temp webapps work
[root@localhost tomcat]# cd
[root@localhost ~]# ln -s /usr/local/apache-tomcat-8.0.36/ /usr/local/tomcat
[root@localhost ~]# ls /usr/local/tomcat/
bin conf lib LICENSE logs NOTICE RELEASE-NOTES RUNNING.txt temp webapps work
b)192.168.14.130上:
[root@localhost ~]# ls /tomcat/
apache-tomcat-8.0.36.tar.gz jdk-8u144-linux-x64.tar.gz
[root@localhost ~]# cd /tomcat/
[root@localhost tomcat]# ls
apache-tomcat-8.0.36.tar.gz jdk-8u144-linux-x64.tar.gz
[root@localhost tomcat]# tar -zxf jdk-8u144-linux-x64.tar.gz
[root@localhost tomcat]# ls
apache-tomcat-8.0.36.tar.gz jdk1.8.0_144 jdk-8u144-linux-x64.tar.gz
[root@localhost tomcat]# mv jdk1.8.0_144/ /usr/local/
[root@localhost tomcat]# ls /usr/local/jdk1.8.0_144/
bin include lib README.html THIRDPARTYLICENSEREADME-JAVAFX.txt
COPYRIGHT javafx-src.zip LICENSE release THIRDPARTYLICENSEREADME.txt
db jre man src.zip
[root@localhost tomcat]# vim /etc/profile
#最下面添加:
export JAVA_HOME=/usr/local/jdk1.8.0_144
export CLASS_PATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
[root@localhost tomcat]# source /etc/profile
[root@localhost tomcat]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
[root@localhost tomcat]# ls
apache-tomcat-8.0.36.tar.gz jdk-8u144-linux-x64.tar.gz
[root@localhost tomcat]# tar -zxf apache-tomcat-8.0.36.tar.gz
[root@localhost tomcat]# ls
apache-tomcat-8.0.36 apache-tomcat-8.0.36.tar.gz jdk-8u144-linux-x64.tar.gz
[root@localhost tomcat]# mv apache-tomcat-8.0.36 /usr/local/
[root@localhost tomcat]# ls /usr/local/apache-tomcat-8.0.36/
bin conf lib LICENSE logs NOTICE RELEASE-NOTES RUNNING.txt temp webapps work
[root@localhost tomcat]# cd
[root@localhost ~]# ln -s /usr/local/apache-tomcat-8.0.36/ /usr/local/tomcat
[root@localhost ~]# ls /usr/local/tomcat/
bin conf lib LICENSE logs NOTICE RELEASE-NOTES RUNNING.txt temp webapps work
如果对运维课程感兴趣,可以在b站上或csdn上搜索我的账号: 运维实战课程,可以关注我,学习更多免费的运维实战技术视频
相关推荐
- 实战派 | Java项目中玩转Redis6.0客户端缓存
-
铺垫首先介绍一下今天要使用到的工具Lettuce,它是一个可伸缩线程安全的redis客户端。多个线程可以共享同一个RedisConnection,利用nio框架Netty来高效地管理多个连接。放眼望向...
- 轻松掌握redis缓存穿透、击穿、雪崩问题解决方案(20230529版)
-
1、缓存穿透所谓缓存穿透就是非法传输了一个在数据库中不存在的条件,导致查询redis和数据库中都没有,并且有大量的请求进来,就会导致对数据库产生压力,解决这一问题的方法如下:1、使用空缓存解决对查询到...
- Redis与本地缓存联手:多级缓存架构的奥秘
-
多级缓存(如Redis+本地缓存)是一种在系统架构中广泛应用的提高系统性能和响应速度的技术手段,它综合利用了不同类型缓存的优势,以下为你详细介绍:基本概念本地缓存:指的是在应用程序所在的服务器内...
- 腾讯云国际站:腾讯云服务器如何配置Redis缓存?
-
本文由【云老大】TG@yunlaoda360撰写一、安装Redis使用包管理器安装(推荐)在CentOS系统中,可以通过yum包管理器安装Redis:sudoyumupdate-...
- Spring Boot3 整合 Redis 实现数据缓存,你做对了吗?
-
你是否在开发互联网大厂后端项目时,遇到过系统响应速度慢的问题?当高并发请求涌入,数据库压力剧增,响应时间拉长,用户体验直线下降。相信不少后端开发同行都被这个问题困扰过。其实,通过在SpringBo...
- 【Redis】Redis应用问题-缓存穿透缓存击穿、缓存雪崩及解决方案
-
在我们使用redis时,也会存在一些问题,导致请求直接打到数据库上,导致数据库挂掉。下面我们来说说这些问题及解决方案。1、缓存穿透1.1场景一个请求进来后,先去redis进行查找,redis存在,则...
- Spring boot 整合Redis缓存你了解多少
-
在前一篇里面讲到了Redis缓存击穿、缓存穿透、缓存雪崩这三者区别,接下来我们讲解Springboot整合Redis中的一些知识点:之前遇到过,有的了四五年,甚至更长时间的后端Java开发,并且...
- 揭秘!Redis 缓存与数据库一致性问题的终极解决方案
-
在现代软件开发中,Redis作为一款高性能的缓存数据库,被广泛应用于提升系统的响应速度和吞吐量。然而,缓存与数据库之间的数据一致性问题,一直是开发者们面临的一大挑战。本文将深入探讨Redis缓存...
- 高并发下Spring Cache缓存穿透?我用Caffeine+Redis破局
-
一、什么是缓存穿透?缓存穿透是指查询一个根本不存在的数据,导致请求直接穿透缓存层到达数据库,可能压垮数据库的现象。在高并发场景下,这尤其危险。典型场景:恶意攻击:故意查询不存在的ID(如负数或超大数值...
- Redis缓存三剑客:穿透、雪崩、击穿—手把手教你解决
-
缓存穿透菜小弟:我先问问什么是缓存穿透?我听说是缓存查不到,直接去查数据库了。表哥:没错。缓存穿透是指查询一个缓存中不存在且数据库中也不存在的数据,导致每次请求都直接访问数据库的行为。这种行为会让缓存...
- Redis中缓存穿透问题与解决方法
-
缓存穿透问题概述在Redis作为缓存使用时,缓存穿透是常见问题。正常查询流程是先从Redis缓存获取数据,若有则直接使用;若没有则去数据库查询,查到后存入缓存。但当请求的数据在缓存和数据库中都...
- Redis客户端缓存的几种实现方式
-
前言:Redis作为当今最流行的内存数据库和缓存系统,被广泛应用于各类应用场景。然而,即使Redis本身性能卓越,在高并发场景下,应用于Redis服务器之间的网络通信仍可能成为性能瓶颈。所以客户端缓存...
- Nginx合集-常用功能指导
-
1)启动、重启以及停止nginx进入sbin目录之后,输入以下命令#启动nginx./nginx#指定配置文件启动nginx./nginx-c/usr/local/nginx/conf/n...
- 腾讯云国际站:腾讯云怎么提升服务器速度?
-
本文由【云老大】TG@yunlaoda360撰写升级服务器规格选择更高性能的CPU、内存和带宽,以提供更好的处理能力和网络性能。优化网络配置调整网络接口卡(NIC)驱动,优化TCP/IP参数...
- 雷霆一击服务器管理员教程
-
本文转载莱卡云游戏服务器雷霆一击管理员教程(搜索莱卡云面版可搜到)首先你需要给服务器设置管理员密码,默认是空的管理员密码在启动页面进行设置设置完成后你需要重启服务器才可生效加入游戏后,点击键盘左上角E...
你 发表评论:
欢迎- 一周热门
-
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
[常用工具] OpenCV_contrib库在windows下编译使用指南
-
WindowsServer2022|配置NTP服务器的命令
-
Ubuntu系统Daphne + Nginx + supervisor部署Django项目
-
WIN11 安装配置 linux 子系统 Ubuntu 图形界面 桌面系统
-
解决Linux终端中“-bash: nano: command not found”问题
-
Linux 中的文件描述符是什么?(linux 打开文件表 文件描述符)
-
NBA 2K25虚拟内存不足/爆内存/内存占用100% 一文速解
-
K3s禁用Service Load Balancer,解决获取浏览器IP不正确问题
-
- 最近发表
-
- 实战派 | Java项目中玩转Redis6.0客户端缓存
- 轻松掌握redis缓存穿透、击穿、雪崩问题解决方案(20230529版)
- Redis与本地缓存联手:多级缓存架构的奥秘
- 腾讯云国际站:腾讯云服务器如何配置Redis缓存?
- Spring Boot3 整合 Redis 实现数据缓存,你做对了吗?
- 【Redis】Redis应用问题-缓存穿透缓存击穿、缓存雪崩及解决方案
- Spring boot 整合Redis缓存你了解多少
- 揭秘!Redis 缓存与数据库一致性问题的终极解决方案
- 高并发下Spring Cache缓存穿透?我用Caffeine+Redis破局
- Redis缓存三剑客:穿透、雪崩、击穿—手把手教你解决
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)