jenkins部署过程记录

一、jenkins部署git链接找不到

原因分析:

机器的git环境不是个人git的权限,所以clone不了。Jenkins的master节点部署机器已经部署较多其他的job在跑,如果直接修改机器的git配置,很可能影响到其他的job clone 不了代码,所以不能用:git@gitlab.org.com:org-platform的方式。为了不影响原来的环境状态,需要改为:http://gitlab.org.com/org-platform的方式,这个方式只需要注册个人的gitlad账号/密码,就可以成功拉取仓库代码。

二、实现选择git仓库多个分支作为变量

jenkins插件中心搜索“Git Parameter ” ,选择“Install without restart”,无需重启即可安装。

 可以手动选择对应的分支后进行构建

三、jenkins 拉多个git仓库的解决方法

jenkins在默认情况下,一个任务只能配置一个git仓库地址,就算配置了多个git-repositories的git仓库地址,最后一次拉的代码也会覆盖前面仓库的代码。

因为机器本地只有一个文件夹,拉的多个git-repositories的git仓库代码都会存到这个文件夹,这样拉的仓库代码就会覆盖前面的仓库代码,最后只会剩下一个仓库的代码。

 所以,要拉多个git仓库代码,就需要机器本地可以自动生成存放各自仓库代码对应的独立文件夹。需要安装插件实现

安装Multiple SCMS Plugin插件 

 

 机器本地生成的代码仓库文件夹:

### 使用Jenkins配置CI/CD管道并进行部署 #### 配置源码管理轮询 为了使Jenkins能够及时响应代码库的变化,在设置项目时可以选择使用`Poll SCM`选项。一旦此功能被激活,每分钟都会触发一次对仓库主分支的检查操作;如果检测到有新的提交记录,则会自动拉取最新的更改[^1]。 ```groovy properties([ pipelineTriggers([pollSCM('H/1 * * * *')]) ]) ``` 这段脚本定义了一个定时器表达式来实现一分钟频率下的源码变更监测任务调度。 #### 创建构建项与自动化流程集成 当需要建立一个新的作业用于持续交付过程中的各个环节衔接时——比如从版本控制系统获取最新版次的应用程序源文件、编译打包成制品以及后续可能涉及到容器化镜像制作等工作流环节——可以在Jenkins界面上通过点击“新建Item”,按照向导提示完成相应类型的自由风格工程或是Pipeline项目的初始化工作[^2]。 对于基于Docker环境的应用来说,这通常意味着要编写一段或多段Groovy语法描述符形式存在的声明式流水线DSL(Domain Specific Language),用来指导整个软件开发生命周期内的各个阶段活动有序开展: ```groovy pipeline { agent any stages { stage('Checkout') { steps { git 'https://github.com/example/repo.git' } } stage('Build') { steps { sh './mvnw clean package' // Maven build example } } stage('Test') { steps { echo "Running tests..." } } stage('Deploy') { when { expression { return BRANCH_NAME ==~ /^(master|main)$/ } } environment { DOCKER_IMAGE = "${env.JOB_NAME}:${env.BUILD_NUMBER}" } steps { script { docker.build(DOCKER_IMAGE).inside('-u root') { sh 'make install' } } withCredentials([usernamePassword(credentialsId: 'dockerhub', usernameVariable: 'USER', passwordVariable: 'PASSWD')]) { sh """ echo ${USER} | docker login --username=${USER} --password-stdin docker push $DOCKER_IMAGE """ } } } } } ``` 上述示例展示了如何利用多阶段式的Pipeline结构去组织不同性质的任务单元,并且包含了针对特定条件才执行的操作逻辑控制语句。 #### 不可变基础设施实践 采用不可变部署策略可以有效减少由于服务器状态不一致带来的风险。在这种模式下,任何更新都不会直接修改现有的运行实例而是创建全新的资源副本替换旧有的部分。这种方式特别适合微服务架构或者是云原生应用开发场景中追求高可用性和快速回滚能力的需求[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飘凛枫叶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值