当前位置: 首页 > news >正文

详细介绍:Jenkins

Jenkins

一、使用tomcat容器安装jenkins

1、部署tomcat,tomcat下载https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat,此时下载9.0版本的,10版本部署有bug,无法实现。

先要卸载centos7中自带得jdk

[root@ws ~]# rpm -qa | grep java
python-javapackages-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64
tzdata-java-2018e-3.el7.noarch
java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64
javapackages-tools-3.4.1-11.el7.noarch
[root@ws ~]# rpm -e java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64 --nodeps
[root@ws ~]# rpm -e java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64 --nodeps

//部署网络源

//时钟同步

//安装jdk

[root@ws yum.repos.d]# yum -y install java-11-openjdk

//解压tomcat,并部署安装

[root@ws local]# tar -xzvf apache-tomcat-9.0.67.tar.gz -C /usr/local/
[root@ws ~]# cd /usr/local/
[root@ws local]# ls
apache-tomcat-9.0.67  bin  etc  games  include  lib  lib64  libexec  sbin  share  src
[root@ws local]# ln -s apache-tomcat-9.0.67/ tomcat

//启动tomcat,测试能否访问tomcat首页

[root@ws tomcat]#  bin/startup.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.

在这里插入图片描述

1、部署jenkins

//下载jenkins到/usr/local/tomcat/webapps/目录下

//下载下来后会自动解压

//启动服务

[root@ws tomcat]# bin/catalina.sh stop
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
[root@ws tomcat]# bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@ws tomcat]# cd webapps/
[root@ws webapps]# ls
docs  examples  host-manager  jenkins  jenkins.war  manager  ROOT
[root@ws webapps]#

//浏览器访问jenkins

在这里插入图片描述

//查看上图框出来的文件,该文件中记录这密码,复制密码并登录

[root@ws webapps]# cat /root/.jenkins/secrets/initialAdminPassword
6e75422e88de464587840ca4ec2be037

在这里插入图片描述

3、自定义jenkins

//选择插件来安装

在这里插入图片描述

//选择无,进行安装,后期需要什么插件就安装什么插件

在这里插入图片描述

//创建管理员用户admin,密码为admin

在这里插入图片描述

//此时登录进去是英文界面,我们进行替换国内源

在这里插入图片描述

//点击 Advanced —> 更新为国内源 —> Submit

原国外插件源地址:https://updates.jenkins.io/update-center.json

国内插件源地址:https://mirrors.huaweicloud.com/jenkins/updates/update-center.json

在这里插入图片描述

//安装简体中文插件

在这里插入图片描述

//安装Git GitHub GitLab Gitee插件

安装完成后,会重启jenkins

在这里插入图片描述

在这里插入图片描述

Jenkins流水线项目发布流程

主机名称 ip地址 需要的应用服务 工具包 系统

ansible 192.168.110.110 tomcat、jenkins git maven RHEL9

app 192.168.110.66 tomcat 无 RHEL9

1、关闭防火墙和selinux

2、在node1上部署服务tomcat和jenkins(上面已经部署),重新部署,登录web界面时选择安装推荐的插件,部署好后,设置国内源

3 配置yum源

[root@absible yum.repos.d]# cat server.repo
[baseos]
name=baseos
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/BaseOS/x86_64/os/
enabled=1
gpgcheck=0
[appstream]
name=app
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/AppStream/x86_64/os/
enabled=1
gpgcheck=0

在这里插入图片描述

3、先在ansible主机上生成一个密钥,传给app主机

[root@absible ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.110.66
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.110.66 (192.168.110.66)' can't be established.
ED25519 key fingerprint is SHA256:Vx2iAClKk4iu5uccKPyvHZ0Qc0E179q28tXIIWNvxUM.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.110.66's password:
Number of key(s) added: 1
Now try logging into the machine, with:   "ssh 'root@192.168.110.66'"
and check to make sure that only the key(s) you wanted were added.

4、在app上部署tomcat

5、在ansible中配置jenkins

//创建任务

在这里插入图片描述

//创建流水线任务

在这里插入图片描述

发布流水线的方法我在这里给大家介绍两种,一种是脚本的方式,一种是使用文本参数的方式

首选都需要在jinkins所在服务器,也就是ansible中安装git和maven

[root@absible ~]#  yum -y install git
[root@absible ~]# yum -y install maven-openjdk11.noarch

https://github.com/devopsbyhari/JenkinsTomcatExample.git

第一种方法:使用脚本

pipeline {

agent any

stages {

stage(‘pull code’) {

steps {

git ‘https://github.com/devopsbyhari/JenkinsTomcatExample.git’

}

}

}

}

在这里插入图片描述

在这里插入图片描述

//绿色为构建成功

在这里插入图片描述

//添加第二部分脚本执行

pipeline {
agent any

stages {
stage(‘pull code’) {
steps {
git ‘https://github.com/devopsbyhari/JenkinsTomcatExample.git’
}
}
stage(‘package’) {
steps {
sh “”"
mvn clean
mvn package
“”"
}
}
}
}

//再次进行构建--此时构建时间非常长

第二次构建就是为了安装软件包,生成站点,站点

/root/.jenkins/workspace/test/target/目录下,通过日志文件可以看到

该目录下就有个压缩文件为java-tomcat-maven-example.war

//第三次构建的时候,就是需要把这个文件使用scp的方式发送给app的tomcat中

pipeline {
agent any

stages {stage('pull code') {steps {git 'https://github.com/devopsbyhari/JenkinsTomcatExample.git'}}stage('package') {steps {sh """mvn cleanmvn package"""}}stage('deploy') {steps {sh """scp target/java-tomcat-maven-example.war root@192.168.110.66:/usr/local/tomcat/webapps/ssh root@192.168.110.66 '/usr/local/tomcat/bin/catalina.sh stop && /usr/local/tomcat/bin/catalina.sh start'"""}}
}

}

此时我们去app中的去验证

[root@app ~]# cd /usr/local/tomcat/webapps/
[root@app webapps]# ls
docs  examples  host-manager  java-tomcat-maven-example  java-tomcat-maven-example.war  manager  ROOT
[root@app webapps]#

//访问app的tomcat

在这里插入图片描述

//能够成功访问该页面,说明我们此次jenkins流水线项目部署成功

第二种方法呢,就是通过文本参数来实现流水线项目发布

为了实验效果呢,我们首先把app中刚刚接收到的站点给删除掉

//新建流水线项目lq

在这里插入图片描述

//添加文本参数

在这里插入图片描述

//添加git下载信息https://github.com/devopsbyhari/JenkinsTomcatExample.git

在这里插入图片描述

//添加字符参数,打包

在这里插入图片描述

//添加字符参数 定义tomcat路径

在这里插入图片描述

//添加文本参数 定义客户端ip

在这里插入图片描述

//编写流水线脚本

pipeline {
agent any

stages {stage('pull code') {steps {git "${git_url}"}}stage('package') {steps {sh """mvn cleanmvn package"""}}stage('deploy') {steps {sh """scp target/${maven_package}.war root@${client_ip}:${tomcat_path}/webapps/ssh root@${client_ip} '${tomcat_path}/bin/catalina.sh stop && ${tomcat_path}/bin/catalina.sh start'"""}}
}

}

//刚刚定义好的变量参数值

//构建

在这里插入图片描述

//验证

在这里插入图片描述

http://www.jsqmd.com/news/55751/

相关文章:

  • 2025年工业冷风机能效等级TOP5对比,铁皮房车间降温/陶瓷车间降温/注塑车间通风降温/家具厂车间通风降温工业冷风机供应商哪家好
  • 2025年11月副业平台推荐榜单:五家高性价比平台助你安全增收
  • 口碑好的博山电机公司推荐榜单?博山电机品牌 博山电机公司 博山电机工厂 博山电机厂家 博山电机厂商 博山电机生产厂家
  • 定州市农村自建房口碑推荐排行榜,2026年自建房公司权威测评优选
  • 行业内靠谱的广州到珠海网约车公司推荐排行榜单? 广州到珠海网约车品牌 广州到珠海网约车公司 广州到珠海网约车服务商 广州到珠海网约车渠道
  • 河北保定安国市农村自建房机构权威测评,2026年河北保定安国市地区靠谱自建房公司全维度对比排行榜
  • 2025年工业冷风机智能控制排名TOP6,汽配车间通风降温/汽车制造车间通风降温/敞开式车间通风降温/铁皮车间降温工业冷风机品牌找哪家
  • werr
  • CMake-HelloWorld
  • 广州专业的中巴包车公司推荐排行榜单?中巴包车品牌 中巴包车公司 中巴包车服务商 中巴包车平台 中巴包车渠道
  • 高碑店市农村自建房机构哪家好?河北保定高碑店市自建房机构深度测评推荐排行榜
  • 可靠的城际出行网约车公司推荐排行榜单? 城际出行网约车品牌 城际出行网约车公司 城际出行网约车服务商 城际出行网约车渠道
  • 安国市农村自建房找谁好?2026年靠谱公司TOP6实用选择指南
  • 深入解析:TCP 明明有重传机制,为何还会丢包?
  • jQuery 入门学习教程,从入门到精通, jQuery选择器详解 —— 全面知识点与实战案例(2) - 实践
  • 2025北京装修改造公司TOP5权威推荐:佳时特装修改造
  • 2025年十大多功能电表实力厂家排行榜,多功能电表优质生产商
  • 2025年中国十大冷却塔专业制造商推荐:冷却塔生产企业及品牌
  • 2025年度长三角地区碳纤维定制加工厂家排行榜,推荐碳纤维定
  • 正规的泡沫消防车厂家推荐排行榜?泡沫消防车厂家 泡沫消防车产品 泡沫消防车供应厂家 泡沫消防车工厂 泡沫消防车生产厂家 泡沫消防车源头厂家
  • 云智计划_数据结构_并查集
  • 市面上垃圾车厂家推荐排行榜?垃圾车厂家 垃圾车产品 垃圾车供应厂家 垃圾车工厂 垃圾车生产厂家 垃圾车源头厂家
  • 行业内可靠的共享办公室公司推荐排行榜单?共享办公室品牌 共享办公室公司 共享办公室推荐 共享办公室出租 共享办公室租赁
  • 比较好的灵活办公工位公司推荐排行榜单?灵活办公工位品牌 灵活办公工位公司 灵活办公工位推荐 灵活办公工位出租 灵活办公工位租赁
  • 2025起重机械企业TOP5权威推荐:凯力起重,技术创新破解
  • 比较好的联合办公空间公司推荐排行榜单?联合办公空间品牌 联合办公空间公司 联合办公空间推荐 联合办公空间出租 联合办公空间租赁
  • 最好的传播品牌设计服务商推荐排行榜单?传播品牌设计服务商 传播品牌设计品牌 传播品牌设计公司 传播品牌设计服务商 传播品牌设计平台 传播品牌设计渠道
  • 完整教程:Java基础语言进阶学习——2,对象创建机制与内存布局
  • 2025年多功能电表生产商创新能力与服务综合排名:多功能电表
  • 2025年中国公园雾森设备设计TOP5公司推荐:梦幻雾森设备