首页 > 其他分享 >jenkins常见用法

jenkins常见用法

时间:2024-01-30 18:11:19浏览次数:26  
标签:主机 常见 jar 用法 构建 ssh jenkins root

jenkins的一些设置

image-20240130170722131

工具设置

指定maven配置文件

image-20230602153621363

配置jdk

image-20230602153727631

配置maven

image-20230602153741545

邮件配置

image-20240130171952701

image-20240130172100772

系统邮件配置

image-20240130172329811

新建maven项目

需要安装 Maven Integration plugin 才有这个风格的项目

image-20230602154020479

构建触发器

image-20240130164841787

git配置

image-20230602153845469

构建打包

image-20230602153915978

构建脚本

image-20230602153929983

jenkins的构建基本大概都是这5部分

  • git地址 #代码仓库
  • 构建触发器 #什么时候构建,一般我们都是手动构建
  • 构建前环境 #比如把构建需要的一些文件复制过去
  • 构建 #构建操作,比如生成jar
  • 构建后 # 构建后操作,比如允许jar包

jenkins 的默认目录是

里面的workspace是工作目录,拉取的项目就再者里面

#如果要删了了它,就等下重置了jenkins
/root/.jenkins

jenkins 远程主机的操作

主机A上有jenkins 编译环境啥的,但是程序需要运行在主机B上

在主机B上生成公私钥

ssh-Keygen

复制主机B的公钥到主机A,在主机B上执行

 ssh-copy-id -i 主机A #然后输入密码

这时候主机A多了一个授权文件, /root/.ssh/authorized_keys,里面写着允许远程免密登录的公钥

[root@localhost .ssh]# more authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDI/Cmbje8kbgO4Jexnr4jawxVqBPjXiwMi4u+DqAs8eeQDe4CXg1R1DXriFc94
xzh4Wfg8G2tMiFGsBCOcUos3AiqjME03E5by2/ov4xnP5RXwDaegUfEeHPYgd7MFEx9fb+x+ppU8Iv6kNOT6dcgeqSPumi0W4WdH
rFOd6QSdbf2ixhvVd8FbEv7WjjAqr9WM76JhUKh9F97UBBdhOlF+HG/a8njhGD9gqEJ9Xs8daDJt8LsQ9xFPQKopSA5KZTSSA6XI
X4Mdh1EHVIZ3tPojX6D/Bv44c19D9UvzSh7rEGKbUkvq/KFdHtfOG3hifzvCTv98HK+vW5acrWbdRcLJ [email protected]
ldomain
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIpiA6cD2baP+MYgeR/dn55fWu7w6LDNQa4lPvBlD+zy/qUM3/ffh2JycddzbW
pO9GH3qNCwhGay08roZqpOf2bOZovrzldInCmVQRKbWHmhgOXeXXaenjan0+OsBG39cpfrGRThXX1WMyqCcSfMyNscAULn1lK2dm
OQY4LvSkgelh+5NPVhm+2syxfL+kRcEFmuX5Vq3eGLYZHVJnT+syAlblqELhFxZH1XfovqivbJpD5d0TUcw3WWD8RKI3TTExzdV0
pq22V4KdDkKTu+gkbR8DcuJxGXUC95+3Gh3lksNqSG+7fHuMm8JyU6MQVHb6ULHF+R+WjFbV7mO6dgQp [email protected]
ldomain

如果要主机B也能免密登录主机A ,在主机A上执行

 ssh-copy-id -i 主机B #然后输入密码

这时候可以使用 scp 复制在两台主机之间复制文件

#复制当前主机的文件到远程主机上
scp /root/.ssh/authorized_keys root@主机IP:/root/.ssh/authorized_keys

执行远程主机的脚本(登录到192.168.100.67,然后再 /root/code目录下面, readme.txt 里写入我来了,然后又把它复制到 192.168.100.66 )
ssh [email protected],在jenkins 里面不能执行,需要加上 << remotessh

ssh [email protected] << remotessh
cd /root/code
echo "我来过了" > readme.txt

scp  readme.txt [email protected]:/root/code

常用插件介绍

Maven Integration plugin

一个构建maven项目的插件(jenkins使用JDK11+以后有不能识别 mvn需要的JDK版本的bug)

image-20240130151011984

Publish Over SSH

能通过ssh 发送一个文件到目标服务器,或者执行一段脚本,在构建前,或者构建中可用(可以使用账号密码)

如果不用这个插件,我们只能试用shell 免登录,然后scp 复制文件和 ssh登录目标服务器执行操作

image-20240130151356587

设置服务器信息
image-20240130154937187

备注:执行nohup java -jar xxx.jar &命名可能会导致命令行不长时间不退出,从而发送文件超时可以改成
nohup java jar xxx.jar >>nohup.out 2>&1 &
或者简写成 nohup java jar xxx.jar &>>nohup.out & 这样会回立即退出

2>&1

  • 0 表示stdin标准输入,用户键盘输入的内容
  • 1 表示stdout标准输出,输出到显示屏的内容
  • 2 表示stderr标准错误,报错内容
  • 2>&1 是一个整体,>左右不能有空格,即将错误内容重定向输入到标准输出中去。

Build Authorization Token Root

远程构建 默认是需要登录的问题,安装插件以后不需要登录

原始是请求:jenkinsUrl/job/jobName/build?token=admin123
安装插件后免密请求地址:jenkinsUrl/buildByToken/build?job=jobName&token=admin123

image-20240130161431610

Blue Ocean

一个ui美化工具,可以让项目界面更加美观,尤其是优化了 pipeline 的流程。
image-20240130173511714

蓝海对界面和交互逻辑做了美化
image-20240130173557951

jenkins 集群

目的是多节点并行构建项目,添加了从节点,会通过ssh把jenkins.war,远程代理工具,还有一些比如maven之类依赖不强的工具包复制过去,也就是说从节点很多东西jenkins都会自动配置

image-20240130173809758

添加节点

image-20240130173857711

配置节点

标签就是给主机取得名字

image-20240130174353406

pipeline 流水线的使用

标签:主机,常见,jar,用法,构建,ssh,jenkins,root
From: https://www.cnblogs.com/cxygg/p/17997701

相关文章

  • 利用Jenkins自动构建并部署项目
    利用Jenkins自动构建并部署项目:https://blog.csdn.net/li532788/article/details/88031076?ops_request_misc=&request_id=&biz_id=102&utm_term=sudo%20rpm%20--import%20https://pkg.&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~defaul......
  • [职场] 执业药师注册常见问题
    执业药师注册的设定依据是什么?1.《国务院对确需保留的行政审批项目设定行政许可的决定》(国务院令第412号)对确需保留且符合《中华人民共和国行政许可法》第十二条规定事项的行政审批项目,根据《中华人民共和国行政许可法》第十四条第二款的规定,现决定予以保留并设定行政许可,共500项。......
  • 【机器学习】常见算法详解第2篇:KNN之kd树介绍(已分享,附代码)
    本系列文章md笔记(已分享)主要讨论机器学习算法相关知识。机器学习算法文章笔记以算法、案例为驱动的学习,伴随浅显易懂的数学知识,让大家掌握机器学习常见算法原理,应用Scikit-learn实现机器学习算法的应用,结合场景解决实际问题。包括K-近邻算法,线性回归,逻辑回归,决策树算法,集成学习,聚......
  • Qt QQueue 详解:从底层原理到高级用法
    引言:QQueue的重要性与简介在现代软件开发中,数据结构和算法扮演着至关重要的角色。它们为程序员提供了处理各种不同场景下数据的有效方法。QQueue(队列)是一种常见且实用的数据结构,它在许多应用中都发挥着关键作用。本文将简要介绍QQueue的重要性和简介。队列(Queue)是一种遵......
  • 最全的项目部署+持续集成解决方案:Jenkins + git + docker
    最全的项目部署+持续集成解决方案:Jenkins+git+docker:https://blog.csdn.net/m0_45806184/article/details/126408527?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-126408527-blog-128137274.235^v43^control&spm=1001.21......
  • 手摸手教你 docker+jenkins+gitlab 部署你的前端项目
    手摸手教你docker+jenkins+gitlab部署你的前端项目 :https://blog.csdn.net/wx17343624830/article/details/128137274?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-128137274-blog-132392231.235^v43^control&spm=1001.2......
  • python中with的用法
    一、文件操作#自行车f=open("filename")f.write()f.close()上述代码存在的问题:(1)直接open()打开需要手动关闭,并且容易忘记关闭(2)当文件操作出现异常导致程序提早离开,而没有执行关闭文件操作#小轿车try:f=open("xxx")f.write()#文件操作except:doso......
  • nftables用法介绍
    Kubernetes1.29版本中已经将nftables作为一个featureGates,本文简单整理了nftables的用法,便于后续理解kubernetes的nftables规则。文末给出了使用kubeadm部署启用nftablesfeatureGates的配置文件。如下内容来源nftables的man文档以及wiki。nftables和iptables的不同之处nfta......
  • Python中的函数用法
    ​ Python中,函数是组织好的、可重用的、用来执行一个特定任务的代码块。函数提高了代码的模块化和代码重用率。函数是一种将代码块组织在一起以便重复使用的工具。函数可以接受输入数据,并返回输出数据。参考文档:Python中的函数用法-CJavaPy1、定义函数使用关键字def来定义......
  • Jenkins + Gitlab 前后端项目自动化构建部署
    Jenkins+Gitlab前后端项目自动化构建部署:https://blog.csdn.net/IT_ZRS/article/details/115032509?spm=1001.2014.3001.5501Docker+Jenkins+Gitlab自动化构建部署:https://blog.csdn.net/IT_ZRS/article/details/117533847?spm=1001.2101.3001.6650.1&utm_medium=distrib......