首页 > 其他分享 >DevOps-Jenkins-CD持续交付操作

DevOps-Jenkins-CD持续交付操作

时间:2024-03-13 15:59:24浏览次数:23  
标签:INFO git mytest DevOps CD --- v1.0 jenkins Jenkins

基于Git参数构建

之前是默认拉取最新提交代码构建,实际中不适用,需要通过打标签选择发布相应版本

打开Jenkins任务设置,勾选参数化构建过程 > 选择Git参数(这里是Git Parameter插件的作用)

在这里插入图片描述

设置标识名称(记住它,下面的构建步骤需要添加设置这个变量),描述随意,参数类型基于标签

默认值:需要注意,默认是master分支,我这是mian修改相应即可。

在这里插入图片描述

滑到 Build Steps 设置,添加一个构建步骤,选择执行Shell命令方式

在这里插入图片描述

然后按紧三横图标拖动到第一步最上面位置来

设置命令,切换到指定版本

git checkout $version

在这里插入图片描述

保存之后会发现,立即构建按钮变成了Build with Parmeters
右侧出现了一个我们设置的version,框里空白的,因为我们还没去Gitlab仓库打标签版本

在这里插入图片描述

Gitlab打版

进入代码仓库中点击“Tags”

在这里插入图片描述

点右上角的“New Tag”

设置标签名字,例如v1.0.0
在这里插入图片描述

修改项目代码并推送到Gitlab仓库
在这里插入图片描述

推送成功后,再进行打标签动作,例如v1.0.1
在这里插入图片描述

这时候我们已经打了2个标签了,代码不同处就是v1.0.1版本页面多了个v1.0.1文字标识
在这里插入图片描述

Jenkins构建

回到Jenkins任务构建页面,已经识别到了我们再Gitlab打的2个标签

在这里插入图片描述

直接选择相应版本发版即可,当前页面本来就是v1.0.0的代码,所以这里我直接选择v1.0.1标签发版

Started by user 我是真滴帅
Running as SYSTEM
Building in workspace /var/jenkins_home/workspace/mytest
The recommended git tool is: NONE
No credentials specified
 > git rev-parse --resolve-git-dir /var/jenkins_home/workspace/mytest/.git # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url http://192.168.170.111:8888/root/jenkins-cicd-mytest.git # timeout=10
Fetching upstream changes from http://192.168.170.111:8888/root/jenkins-cicd-mytest.git
 > git --version # timeout=10
 > git --version # 'git version 2.30.2'
 > git fetch --tags --force --progress -- http://192.168.170.111:8888/root/jenkins-cicd-mytest.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git rev-parse refs/remotes/origin/main^{commit} # timeout=10
Checking out Revision 971357ca89845b6f57327412c0975cbcc557e98c (refs/remotes/origin/main)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 971357ca89845b6f57327412c0975cbcc557e98c # timeout=10
Commit message: "修改index.html内容,用于区别v1.0.0"
 > git rev-list --no-walk f1b9b50fb0e2b57a42510dd5eafb91741794cb8b # timeout=10
[mytest] $ /bin/sh -xe /tmp/jenkins13022689792363235212.sh
+ git checkout v1.0.1
HEAD is now at 971357c 修改index.html内容,用于区别v1.0.0
[mytest] $ /var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven/bin/mvn clean package -DskipTests
[INFO] Scanning for projects...
[INFO] 
[INFO] -------------------------< com.monster:mytest >-------------------------
[INFO] Building mytest 0.0.1-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[WARNING] Parameter 'archive' is unknown for plugin 'spring-boot-maven-plugin:2.6.13:repackage (repackage)'
[INFO] 
[INFO] --- clean:3.2.0:clean (default-clean) @ mytest ---
[INFO] Deleting /var/jenkins_home/workspace/mytest/target
[INFO] 
[INFO] --- resources:3.3.1:resources (default-resources) @ mytest ---
[INFO] Copying 2 resources from src/main/resources to target/classes
[INFO] 
[INFO] --- compiler:3.8.1:compile (default-compile) @ mytest ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 4 source files to /var/jenkins_home/workspace/mytest/target/classes
[INFO] 
[INFO] --- resources:3.3.1:testResources (default-testResources) @ mytest ---
[INFO] skip non existing resourceDirectory /var/jenkins_home/workspace/mytest/src/test/resources
[INFO] 
[INFO] --- compiler:3.8.1:testCompile (default-testCompile) @ mytest ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to /var/jenkins_home/workspace/mytest/target/test-classes
[INFO] 
[INFO] --- surefire:3.2.2:test (default-test) @ mytest ---
[INFO] Tests are skipped.
[INFO] 
[INFO] --- jar:3.3.0:jar (default-jar) @ mytest ---
[INFO] Building jar: /var/jenkins_home/workspace/mytest/target/mytest.jar
[INFO] 
[INFO] --- spring-boot:2.6.13:repackage (repackage) @ mytest ---
[INFO] Replacing main artifact with repackaged archive
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.003 s
[INFO] Finished at: 2024-03-13T02:43:47Z
[INFO] ------------------------------------------------------------------------
SSH: Connecting from host [3821aea39450]
SSH: Connecting with configuration [应用服务器-170.111] ...
SSH: EXEC: completed after 16,609 ms
SSH: Disconnecting configuration [应用服务器-170.111] ...
SSH: Transferred 3 file(s)
Build step 'Send files or execute commands over SSH' changed build result to SUCCESS
Finished: SUCCESS

发版成功,页面内容多了个【v1.0.1】

在这里插入图片描述
如果发布v1.0.1版本发现有大量bug,可以通过Jenkins快速切换v1.0.0回滚上个版本

标签:INFO,git,mytest,DevOps,CD,---,v1.0,jenkins,Jenkins
From: https://blog.csdn.net/qq_42259469/article/details/136671435

相关文章

  • DevOps-SonarQube整合Jenkins
    下载SonarQubeScanner登录Jenkins服务器,下载SonarQubeScannerwgethttps://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-5.0.1.3006-linux.zip安装unzip,需要通过它来解压zip压缩包yuminstall-yunzip解压SonarScannerunzipson......
  • AnalyticDB 创建db
    CREATETABLE`view_records`(`saas_id`varcharNOTNULLCOMMENT'用户id',`parent_id`intCOMMENT'id',`title`varcharNOTNULLCOMMENT'标题',`sub_id`intCOMMENT'id',`num`intCOMMENT'集数',......
  • 使用Jenkins搭建CI/CD服务器
    1、为什么要用CI/CD软件开发的连续方法基于自动执行脚本,以最大限度地减少在开发应用程序时引入错误的可能性。从新代码的开发到部署,它们需要较少的人为干预甚至根本不需要干预。它涉及在每次小迭代中不断构建,测试和部署代码更改,从而减少基于有缺陷或失败的先前版本开发新代码......
  • 【python】生成对数正态分布样本并画出PDF和CDF图
    """CreatedonTueMar1222:09:092024@author:zhang"""importnumpyasnpfromscipyimportstatsimportmatplotlib.pyplotaspltmean,std=1,0.3sample_size=2000#logNormdistributionsamples=np.exp(stats.norm.rvs(me......
  • STM32模拟IIC读取ACD10红外二氧化碳数据
    引脚介绍ACD10通过IIC来通信我们使用下图右边四个引脚就可以了,系统默认模式为IIC通信方式,他也支持USART串口通信不过需要配置pin5引脚(低电平)。模拟IIC通信配置比较简单,在单片机上面随便找两个引脚就可以。用来配置SDA数据与SCL时钟引脚。读取数据命令官方给我们命令行列......
  • 金融知识分析系列之:MACD指标精讲
    金融知识分析系列之:MACD指标精讲一、MACD指标二、指标原理三、MACD指标参考用法四、MACD计算步骤五、MACD分析要素六、根据快线DIF位置判断趋势七、金叉死叉作为多空信号八、快线位置+交叉信号九、指标背离判断行情反转十、差离值的正负十一、差离值的变化十二、指标的背......
  • etcd每个节点都存储了完整的键值对数据集,为什么扩容etcd集群仍可分散存储压力?
    etcd每个节点都存储了完整的键值对数据集,这主要是为了确保数据的一致性和高可用性。在这种设计下,任何一个节点都可以处理读取请求,并在本地提供数据,从而无需跨节点通信。这种冗余的数据存储方式也增加了系统的容错性,因为即使部分节点发生故障,其他节点仍然可以提供完整的数据集。然......
  • Angular Material 17+ 高级教程 – CDK Accessibility の ListKeyManager
       目录上一篇 AngularMaterial17+高级教程–CDKAccessibilityのFocus下一篇TODO想查看目录,请移步 Angular17+高级教程–目录......
  • Jenkins解决JDK8不兼容
     https://blog.csdn.net/qq_43592064/article/details/129493504 yumremovejenkinswgethttps://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.346.3-1.1.noarch.rpmyum-yinstalljenkins-2.346.3-1.1.noarch.rpmsystemctlstatusjenkins 修改......
  • Kubernetes ETCD
    简述ETCD及其特点etcd是一个分布式的、高可用的、一致的key-value存储数据库,基于Go语言实现,主要用于共享配置和服务发现。特点:1)完全复制:集群中的每个节点都可以使用完整的存档;2)高可用性:Etcd可用于避免硬件的单点故障或网络问题;3)一致性:每次读取都会返回跨多主机的最新写入;4)简......