Jenkins 使用

Jenkins 使用


文章目录

  • Jenkins 使用
  • 一、jenkins 任务执行
  • 二、 Jenkins 连接gitee
  • 三、Jenkins 部署静态网站


在这里插入图片描述


一、jenkins 任务执行

jenkins 创建 job
job的名字最好是有意义的

restart_web_backend
restart_web_mysql

在这里插入图片描述

[root@jenkins ~]# ls /var/lib/jenkins/
config.xml                                      nodeMonitors.xml
hudson.model.UpdateCenter.xml                   nodes
hudson.plugins.git.GitTool.xml                  plugins
identity.key.enc                                queue.xml.bak
jenkins.install.InstallUtil.lastExecVersion     secret.key
jenkins.install.UpgradeWizard.state             secret.key.not-so-secret
jenkins.model.JenkinsLocationConfiguration.xml  secrets
jenkins.telemetry.Correlator.xml                updates
jobs                                            userContent
logs                                            users
[root@jenkins ~]# ls /var/lib/jenkins/jobs/
guan_jenkins_job
[root@jenkins ~]# ls /var/lib/jenkins/jobs/guan_jenkins_job/
builds  config.xml

在这里插入图片描述

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

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

[root@jenkins ~]# ls  /var/lib/jenkins/workspace/guan_jenkins_job
guan12319.txt

在这里插入图片描述
清理工作空间之后,可以发现workspace目录下没有内容了

[root@jenkins ~]# ls  /var/lib/jenkins/workspace/

二、 Jenkins 连接gitee

ssh协议连接方式

获取仓库地址

git@gitee.com:sound-of-birds-chirpingg/test_git.git

目的:用户在jenkins服务器上去Gitee(码云)下载代码,然后把代码下载到jenkins服务器上

在这里插入图片描述
常见报错
jenkins 没有安装git

yum install -y git

没有做免密
在这里插入图片描述
用ssh-keygen 生成公私要,然后上传公钥到gitee上,进行免密登录

[root@jenkins ~]# cat  ~/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC6ATb8WL+zTOhYNkwJKr+xfaZ5QbfLBxyaRYtcO977T6ySDv1MDmBXC0ELBOE0x/Pyac3u5IB+NjLsKM63iYzSXrqk0TzjgrCXM85ZdnJ3mqCwaOa0xt2xFYeu0Pxz5o6CO+bffgfoInEIBHn44UaiJLM1qUdyoIxm8vKEaWF5ZZeDvyl8s952du0NgAQeRr70aISqRFTfZM5rYtkJeQ1r/3O0fuv5VbbklJprOid+viXwPIATLnste4TMFeN0dWW752WSfYpxR/XbPWLeZ0rTu3frIhLCsTOpPZyoLvRwJ7SpqLyPpLxC3mTYysPe66/VmSB6AkOebz9bDHWdsCiyHF6yV8Rl6MPHiilYW+nzWV48Mj5mVO7JMA5euFNMsgNqF908HS9czjD89nOjWjeSjlMn/+TweGulVHopP6n0puC+g2PFPLCfULm9J+JpRJNRCFXoEZ3MW1B3okHZ/Kq9zJNLQs7TjrHhCE8zR2wWULCybLrwqbsHXGRarW6QJvE= root@jenkins

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

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

[root@jenkins ~]# cat  ~/.ssh/id_rsa
-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----
  • 在jenkins服务器上配置好git,生成公私钥发给gitlab
  • 在jenkins服务器里做好配置,和凭证,写入私钥

Https 协议连接方式

1.获取仓库地址

https://gitee.com/sound-of-birds-chirpingg/test_git.git

在这里插入图片描述
2.安装gitee插件,并在安装完成之后重启jenkins服务
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
添加凭据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时,gitee仓库更新内容,而jenkins还是之前的内容,没有同步
在这里插入图片描述
这个时候,只需要在jenkins 服务器上在构建一次,就完成了代码仓库的同步更新
在这里插入图片描述

[root@jenkins guan_jenkins_job]# ls
git.txt  guan12319.txt  guan.txt  hello.txt
[root@jenkins guan_jenkins_job]# ls
git.txt  guan12319.txt  guan.txt  hello.txt  README.md
[root@jenkins guan_jenkins_job]# 

三、Jenkins 部署静态网站

自动化部署静态站点
1.手动或自动部署一个nginx集群
2.开发提交代码到代码托管平台,gitee
3.运维开发shell脚本,交给jenkins去执行这个脚本,jenkins再去获取代码,推送到nginx集群下
在这里插入图片描述
实验准备:使用了2台服务器,一台是运行jenkins服务,另一台运行web服务

1.在web服务器部署一个nginx web 集群

yum install -y nginx

2.修改nginx的配置文件

[root@web ~]# vim /www/server/nginx/conf/nginx.confserver{listen 888; //修改端口server_name phpmyadmin;index index.html index.htm index.php;root  /www/server/phpmyadmin;location ~ /tmp/ {return 403;}

创建页面

[root@web ~]# cd /www/server/phpmyadmin
[root@web phpmyadmin]# ls
[root@web phpmyadmin]# echo "hello guan12319" > index.html
[root@web phpmyadmin]# ls
index.html

在浏览器访问页面
在这里插入图片描述

[root@web phpmyadmin]# cat index.html 
hello guan12319 ----> 你好,世界

在网页文件输入中文出现乱码
在这里插入图片描述
解决办法,在网页文件加入如下内容

[root@web phpmyadmin]# cat index.html 
<meta charset=utf8>
hello guan12319 ---- 你好,世界

在这里插入图片描述
模拟开发推送代码带gitee或者gitlab或者GitHub

  • 开发将代码提交到仓库
  • 运维通过jenkins从gitee或gitlab拉取代码,然后在jenkins通过使用shell部署到nginx服务器上。

在这里插入图片描述

在这里插入图片描述

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

  • 在jenkins上创建心的job,然后填入内容,用于执行一个脚本
sh -x /scripts/deploy_nginx.sh
  • 在jenkins服务器上部署好脚本
[root@jenkins ~]# mkdir /scripts/
[root@jenkins ~]# touch /scripts/deploy_nginx.sh
[root@jenkins ~]# cat   /scripts/deploy_nginx.sh
#1,进入代码目录,打包传输
DATE=$(date +%Y-%m-%d-%H-%M-%S)
#web_server="154.9.228.2 154.9.228.3 154.9.228.4"
web_server="154.9.228.2"# 定义部署的功能函数
# $WORKSPACE 是 jenkins 特有的变量,取得当前job的工作绝对路径
get_code(){cd $WORKSPACE &&  tar -czf /opt/web-${DATE}.tar.gz *
}# 2.代码发送给web集群组
scp_web_server(){
for hosts in $web_server
do# jenkins执行如下命令,将自己本地代码压缩文件,scp发送给nginx服务器scp  /opt/web-${DATE}.tar.gz root@$hosts:/opt/# jenkins服务器,利用ssh命令,远程执行命令ssh  root@$hosts "mkdir -p /nginx_web_html/web-${DATE} && \tar -zxf /opt/web-${DATE}.tar.gz -C  /nginx_web_html/web-${DATE} && \rm -rf /nginx_web_html/web && \ln -s /nginx_web_html/web-${DATE} /nginx_web_html/web"
done
}
# nginx 服务器上的网页根目录是: /nginx_web_html/web# 3.函数执行
deploy(){get_codescp_web_server
}# 4.执行入口
deploy#给脚本赋予执行权限
[root@jenkins ~]# chmod 777  /scripts/deploy_nginx.sh

脚本直接执行,如果权限不够,可能是因为jenkins这个服务是jenkins用户运行的,像要操作目录权限不够,所以需要修改jenkins的用户为root
在这里插入图片描述

[root@jenkins ~]# grep root /etc/sysconfig/jenkins 
JENKINS_USER="root"

在这里插入图片描述
Host key verification failed 和 Pwemisssion denied -> 这说明我们需要用jenkins的用户做免密将公钥发给目标服务器

解决jenkins账户无法切换+jenkins免密登录+ssh免密登录+scp免密远程复制的问题
1.解决jenkins账户无法切换

[root@jenkins ~]# vim ~/.bash_profile
# 在最后一行添加如下一行,并保存退出
export PS1='[\u@\h \W]\$'[root@jenkins ~]# source ~/.bash_profile // 再刷新.bash_profile文件,使其起作用

2.jenkins免密登录

[root@jenkins ~]# vim /etc/sudoers 
# 在最后一行添加如下一行,为jenkins用户添加免密码,然后并wq!强制保存退出
jenkins ALL=(ALL) NOPASSWD: ALL
[root@jenkins ~]# /etc/init.d/jenkins restart
Restarting jenkins (via systemctl):  [  OK  ]
[root@jenkins ~]# 
[root@jenkins ~]# su jenkins //成功切换到jenkins用户下,且无需密码
[jenkins@jenkins root]$  

3.ssh免密登录
scp的免密执行其实取决于ssh的免密登录。假如ssh能够免密登录的话那么jenkins就可以直接调用scp不用输入密码了,当然就可以自动执行不用人工干预了。

# 安装ssh,默认已安装好# yum install ssh# 启动ssh服务器端# systemctl start  sshd
# systemctl status  sshd

当我想要远程登录或者scp拷贝文件给目标服务器每次输入密码登录十分麻烦,有没有一种方式可以让服务器能够确定我的身份,无需输入密码可以直接通过认证?

ssh除了使用密码验证外,还提供了一种公私密钥的验证方式。客户端生成一个私钥,并生成一个与之对应的公钥,然后将公钥上传到服务器上。操作如下:

#要先切换到jenkins的账户
[root@jenkins ~]# su jenkins
[jenkins@jenkins root]$ [jenkins@jenkins root]$ ssh-keygen -t rsa 

-t指定要创建的密钥类型,默认是rsa,所以跟执行ssh-keygen是一样的
期间会提示你输入你私钥的加密密码。如果想要完全做到不需要密码登录,此处可留空,直接回车,否则以后每次连接都需要输入密码。
完成后,会当前用户的主目录下的~/.ssh/路径下生成两个文件id_rsa与id_rsa.pub分别是私钥与公钥。

接下来,要把生成的公钥上传到服务器上,同样还是在客户端执行以下的代码

[jenkins@jenkins root]$ # ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.2

执行完成后,即可看到公钥了

[jenkins@jenkins root]$ cat /var/lib/jenkins/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDBMDVDdhOsrp2vmERAhyn8h1aUwR+A7t1wxPMCuIj3pXobkj/HybI7ccKRIb/v2aNX9f2Rahmm8shImY+r+b+VQXG1vQaZN8cSekazNQqiEH044axqS0L/MvPxxFu0Y6qQVCQjau2qnYU/EKe50UTUlrR2zgJIFOuIIqhBRqXR7VruPzk6guCAJ8wjMZ1ZN4/HO2hkCxNQk2dWE7cV3O7CB3/gKocMQkjfWvn/u7swLxxoJa9kQAFqjZWGgmpFLvqZ0HYHMavsXdAwfoHpa719JegDqaqVqIXyvTkgWe9YfILexRWgMws2h6xHmNysKJZsRRF9ZXyObQbJqoSfzOIaqsiyCsMrgrhSIykQnocnDPBSY86cBQUIVM5sjLunYQ23QujHfPqjaPQMgakYcOkfTmzbMs1FemsSgcdcU+JhXvslARf4GAgJbu3VlHK16wWOEqpJzfTXga2hpt/UNRAYqcZfXHF9n0ZgX0UdjhWqCNamPn9PltQorqDPSjQHqwPV4tN2aGy5UuzH5a5yG6ti8esm0Tn3N8bDfEDUtYTIsPHu6gu+a4omXI6JzOBZfPW72Zl3MynkEeYTYnsPpEonvD7sV/YfUxDNSaDkTT8Qz3lDOWmHMz1BhHu893GIpKln+vwy33TfBU/21pjzFJrnZgYyPbbVtEUeR59rfLcjhw== jenkins@jenkins

接下来,测试一下 ssh远程登录到目标机器来看看是否免密成功:

[jenkins@jenkins root]$ ssh -p 当前服务器的ssh端口(默认是22) 你要登录的目标服务器账号(通常为root)@远程ip地址

当看到成功登录对方服务器,免密就成功了

[jenkins@jenkins root]$ ssh -p 22  root@154.9.228.2
RainYun Cloud Services                                                                                                                                                    
Check out the latest activities or get help from: https://www.rainyun.com 
Activate the web console with: systemctl enable --now cockpit.socketLast failed login: Wed Aug  9 12:28:55 CST 2023 from 218.92.0.76 on ssh:notty
There were 3089 failed login attempts since the last successful login.
Last login: Wed Aug  9 03:14:38 2023 from 154.9.228.2
[root@web ~]#
[root@web ~]# exit
logout
Connection to 154.9.228.1 closed.
[jenkins@jenkins root]$ 

将生成的公钥发给目标服务器

ssh-copy-id -i /var/lib/jenkins/.ssh/id_rsa.pub root@目标ip地址

[jenkins@jenkins root]$ ssh-copy-id -i /var/lib/jenkins/.ssh/id_rsa.pub   root@154.9.228.2
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '154.9.228.175 (154.9.228.2)' can't be established.
ECDSA key fingerprint is SHA256:owTLa6pSR6GuEAU2pjUJuFGOiUbPFbAGh25BbwHzfRk.
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@154.9.228.2's password:  //输入目标服务器的密码Number of key(s) added: 1Now try logging into the machine, with:   "ssh 'root@154.9.228.2'"
and check to make sure that only the key(s) you wanted were added.[jenkins@jenkins root]$ ssh root@154.9.228.2 //ssh远程登录目标服务器测试一下
RainYun Cloud Services                                                                                                                                                    
Check out the latest activities or get help from: https://www.rainyun.com 
Activate the web console with: systemctl enable --now cockpit.socketLast failed login: Wed Aug  9 12:37:33 CST 2023 from 180.101.88.219 on ssh:notty
There were 52 failed login attempts since the last successful login.
Last login: Wed Aug  9 12:28:57 2023 from 154.9.228.2
[root@web ~]# exit
logout
Connection to 154.9.228.1 closed.
[jenkins@jenkins root]$ 

好了到这里,jenkins用户的免密完成了

构建成功之后即可,访问网页了
在这里插入图片描述

在这里插入图片描述
网页文件准备完成

[root@web web-2023-08-09-03-43-54]# cat /nginx_web_html/web-2023-08-09-03-43-54/index.html 
<!DOCTYPE html>
<meta charset=utf8>
<html>
<head><title>我的网页</title>
</head>
<body><h1>欢迎来到我的网页!</h1><p>这是一个用HTML编写的网页示例。</p>
</body>
</html>

访问网站
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/33656.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

W5500-EVB-PICO作为TCP Client 进行数据回环测试(五)

前言 上一章我们用W5500-EVB-PICO开发板通过DNS解析www.baidu.com&#xff08;百度域名&#xff09;成功得到其IP地址&#xff0c;那么本章我们将用我们的开发板作为客户端去连接服务器&#xff0c;并做数据回环测试&#xff1a;收到服务器发送的数据&#xff0c;并回传给服务器…

SAP MM学习笔记16-在库品目评价

在库品目评价是指评估物料。具体比如物料价格&#xff0c;数量&#xff0c;保管场所等发生变化的时候&#xff0c;判断是否发生了变化&#xff0c;要不要生成 FI票&#xff0c;用哪个FI科目来进行管理等内容就叫在库品目评价。 在库品目评价有很多层级&#xff0c;这里先讲3兄弟…

在Linux虚拟机内配置nginx以及docker

目录 1、nginx源码包编译以及安装依赖 1、配置安装所需的编译环境 2、安装函数库&#xff08;pcre、zlib、openssl&#xff09; 2、安装nginx 1、获取源码包 2、解压编译 3、启动nginx服务 1、关闭防火墙 2、运行nginx 3、使用本地浏览器进行验证 3、安装docker 1、…

每次执行@Test方法前都执行一次DB初始化(SpringBoot Test + JUnit5环境)

引言 在执行单元测试时&#xff0c;可以使用诸如H2内存数据库替代线上的Mysql数据库等&#xff0c;如此在执行单元测试时就能尽可能模拟真实环境的SQL执行&#xff0c;同时也无需依赖线上数据库&#xff0c;增加了测试用例执行环境的可移植性。而使用H2数据库时&#xff0c;通…

Oracle DB 安全性 : TDE HSM TCPS Wallet Imperva

• 配置口令文件以使用区分大小写的口令 • 对表空间进行加密 • 配置对网络服务的细粒度访问 TCPS 安全口令支持 Oracle Database 11g中的口令&#xff1a; • 区分大小写 • 包含更多的字符 • 使用更安全的散列算法 • 在散列算法中使用salt 用户名仍是Oracle 标识…

【JavaEE】Spring Boot - 日志文件

【JavaEE】Spring Boot 开发要点总结&#xff08;3&#xff09; 文章目录 【JavaEE】Spring Boot 开发要点总结&#xff08;3&#xff09;1. 日志有什么作用2. 日志格式2.1 日志框架原理 3. 日志的打印3.1 System.out.println3.2 使用日志框架3.3 日志级别3.3.1 设置默认日志显…

深度学习(36)—— 图神经网络GNN(1)

深度学习&#xff08;36&#xff09;—— 图神经网络GNN&#xff08;1&#xff09; 这个系列的所有代码我都会放在git上&#xff0c;欢迎造访 文章目录 深度学习&#xff08;36&#xff09;—— 图神经网络GNN&#xff08;1&#xff09;1. 基础知识2.使用场景3. 图卷积神经网…

提高测试用例质量的6大注意事项

在软件测试中&#xff0c;经常会遇到测试用例设计不完整&#xff0c;用例没有完全覆盖需求等问题&#xff0c;这样往往容易造成测试工作效率低下&#xff0c;不能及时发现项目问题&#xff0c;无形中增加了项目风险。 因此提高测试用例质量&#xff0c;就显得尤为重要。一般来说…

电脑开不了机如何解锁BitLocker硬盘锁

事情从这里说起&#xff0c;不想看直接跳过 早上闲着无聊&#xff0c;闲着没事干&#xff0c;将win11的用户名称改成了含有中文字符的用户名&#xff0c;然后恐怖的事情发生了&#xff0c;蓝屏了… 然后就是蓝屏收集错误信息&#xff0c;重启&#xff0c;蓝屏收集错误信息&…

C#小轮子:自动连续Ping网络地址

文章目录 前言Ping代码异步问题 前言 工作中&#xff0c;我们经常用到Ping这个指令&#xff0c;有时候我们需要Ping整个网段来查看这个网段上面有什么设备&#xff0c;哪些Ip地址是通的&#xff0c;这个时候就需要Ping指令 Ping 代码 我这个是批量Ping的代码&#xff0c;而…

python爬虫实战(2)--爬取某博热搜数据

1. 准备工作 使用python语言可以快速实现&#xff0c;调用BeautifulSoup包里面的方法 安装BeautifulSoup pip install BeautifulSoup完成以后引入项目 2. 开发 定义url url https://s.微博.com/top/summary?caterealtimehot定义请求头&#xff0c;微博请求数据需要cookie…

OpenAI允许网站阻止其网络爬虫;谷歌推出类似Grammarly的语法检查功能

&#x1f989; AI新闻 &#x1f680; OpenAI推出新功能&#xff0c;允许网站阻止其网络爬虫抓取数据训练GPT模型 摘要&#xff1a;OpenAI最近推出了一个新功能&#xff0c;允许网站阻止其网络爬虫从其网站上抓取数据训练GPT模型。该功能通过在网站的Robots.txt文件中禁止GPTB…

datax抽取库名带点的表遇到的问题

一、描述任务 使用Datax抽取mysql中的数据到hive的wedw_ods层中&#xff0c;mysql的库名为&#xff1a;b.p.n.p 表名为&#xff1a;bene_group 二、datax.json脚本生成 因为datax的脚本是自动生成的&#xff0c;生成的格式如下&#xff1a; {"core": {},"jo…

python接口自动化测试框架2.0,让你像Postman一样编写测试用例,支持多环境切换、多业务依赖、数据库断言等

项目介绍 接口自动化测试项目2.0 软件架构 本框架主要是基于 Python unittest ddt HTMLTestRunner log excel mysql 企业微信通知 Jenkins 实现的接口自动化框架。 前言 公司突然要求你做自动化&#xff0c;但是没有代码基础不知道怎么做&#xff1f;或者有自动化…

部署模型并与 TVM 集成

本篇文章译自英文文档 Deploy Models and Integrate TVM tvm 0.14.dev0 documentation 更多 TVM 中文文档可访问 →Apache TVM 是一个端到端的深度学习编译框架&#xff0c;适用于 CPU、GPU 和各种机器学习加速芯片。 | Apache TVM 中文站 本节介绍如何将 TVM 部署到各种平台&…

搭建Repo服务器

1 安装repo 参考&#xff1a;清华大学开源软件镜像站:Git Repo 镜像使用帮助 2 创建manifest仓库 2.1 创建仓库 git init --bare manifest.git2.2 创建default.xml文件 default.xml文件内容&#xff1a; <?xml version"1.0" encoding"UTF-8" ?…

基于Googlenet深度学习网络的人员行为动作识别matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 1. 原理 1.1 深度学习与卷积神经网络&#xff08;CNN&#xff09; 1.2 GoogLeNet 2. 实现过程 2.1 数据预处理 2.2 构建网络模型 2.3 数据输入与训练 2.4 模型评估与调优 3. 应用领域…

STM32 LL库开发

一、STM32开发方式 标准库开发&#xff1a;Standard Peripheral Libraries&#xff0c;STDHAL库开发&#xff1a;Hardware Abstraction Layer&#xff0c;硬件抽象层LL库开发&#xff1a;Low-layer&#xff0c;底层库 二、HAL库与LL库开发对比 ST在推行HAL库的时候&#xff0c;…

C# Linq源码分析之Take方法

概要 Take方法作为IEnumerable的扩展方法&#xff0c;具体对应两个重载方法。本文主要分析第一个接收整数参数的重载方法。 源码解析 Take方法的基本定义 public static System.Collections.Generic.IEnumerable Take (this System.Collections.Generic.IEnumerable source…

【uniapp】uniapp使用微信开发者工具制作骨架屏:

文章目录 一、效果&#xff1a;二、过程&#xff1a; 一、效果&#xff1a; 二、过程&#xff1a; 【1】微信开发者工具打开项目&#xff0c;生成骨架屏&#xff0c;将wxml改造为vue页面组件&#xff0c;并放入样式 【2】页面使用骨架屏组件 【3】改造骨架屏&#xff08;去除…