gitlab ci/cd搭建及使用笔记
记录下使用gitlab的ci/cd的devops构建过程中,一些易忘点或者踩坑点:
- 官方文档中英文(建议英文)
https://docs.gitlab.com/ee/ci/yaml/artifacts_reports.html
https://gitlab.cn/docs/jh/ci/pipelines/schedules.html - 为什么创建了流水线后,触发了一次流水线之后会自动不停地创建流水线?
如果你在你的工程设置中,让流水线给你自动生成tag,该tag的提交就会被push到代码库,而如果你每禁用push事件或每指定具体push规则,每次push又会创建运行新的流水线,因此造成了死循环;
解决方法要么把流水线改为手动触发,要么禁用push触发,要么就细化push触发规则
一个手动触发的案例如下:
stages: # List of stages for jobs, and their order of execution- build- release- package- test- deploy#workflow:
# rules:#- if: '$CI_PIPELINE_SOURCE == "push"'# when: never
# - if: $CI_PIPELINE_SOURCE == 'merge_request_event'build_job: # This job runs in the build stage, which runs first.stage: buildrules:- if: '$CI_PIPELINE_SOURCE == "push"'when: manual# - if: $CI_PIPELINE_SOURCE == 'merge_request_event'script:- work_root=`pwd`- echo "wortroot:${work_root} " >> release.log- chmod +x script/build_control.sh && sh script/build_control.sh >> release.log- tar -cf output.tar build >> release.logartifacts:paths:- output.tar- release.logexpire_in: 1 weekrelease_job:stage: releaseneeds: ["build_job"]#rules:# - if: '$CI_PIPELINE_SOURCE == "push"'# when: neverscript:- echo "$CI_PIPELINE_SOURCE" >> release.log- echo "running release_job" >> release.log- export CI_COMMIT_TAG=`date +"%Y%m%d%H%M%S"`- echo "$CI_COMMIT_TAG" >> release.log- export ci_commit_branch=${CI_COMMIT_BRANCH}- echo "$CI_COMMIT_BRANCH" >> release.log- release-cli create --description "release $CI_COMMIT_TAG" --tag-name "${ci_commit_branch}.v.$CI_COMMIT_TAG"dependencies:- build_job
- 为什么我在一些阶段的产出文件无法在最终流程结束后找到也无法被下一个阶段使用?
这是因为每个阶段都会删除上一阶段的数据,重新拉取运行,如果你希望你上一个阶段的脚本执行产出被保留,需要使用artifacts,上面的案例也有 - gitlabrunner可以自己装在自己的服务器上,不一定要用它推荐的镜像
- 为什么找不到CI_COMMIT_TAG环境变量?或者无法把gitlab-runner里面的环境变量带到流水线的脚本里?
目前这是gitlab设计的一个已知问题,把gitlab流水线的专有变量带到gitlab-runner所在实例可采用示例中export方式,然后你就可以直接使用了。
两个比较多的案例
https://zhuanlan.zhihu.com/p/510820543
https://blog.51cto.com/busy/6543293
未完待续…
相关文章:
gitlab ci/cd搭建及使用笔记
记录下使用gitlab的ci/cd的devops构建过程中,一些易忘点或者踩坑点: 官方文档中英文(建议英文) https://docs.gitlab.com/ee/ci/yaml/artifacts_reports.html https://gitlab.cn/docs/jh/ci/pipelines/schedules.html为什么创建了…...
Xcode 16 中 Swift Testing 的参数化(Parameterized)机制趣谈
概述 我们之前曾在 《用接地气的例子趣谈 WWDC 24 全新的 Swift Testing 入门》系列博文以及《WWDC24(Xcode 16)中全新的 Swift Testing 使用进阶》博文中较为系统地介绍了今年 WWDC 24 中全新的 Swift Testing 测试系统。 不过 Swift Testing 的本领远…...
Python自动化运维DevSecOps与安全自动化
Python自动化运维DevSecOps与安全自动化 目录 🛡️ DevSecOps概念与实践🔍 自动化安全扫描与漏洞修复🧰 基于Python的安全审计与合规性检查🐳 云平台与容器安全:基于Python的容器扫描工具⚠️ 自定义安全检测与漏洞修…...
2024下半年系统架构师考试【回忆版】
2024年11月10日,系统架构师考试如期举行,屡战屡败的参试倒是把北京的学校转了好几所。 本次考试时间 考试科目考试时间综合知识、案例分析8:30 - 12:30论文14:30 - 16:30 综合知识 1、1-1000以内包含5的数字个数 2、 案例分析 1、RESTful 对于前后…...
UE5.4 PCG 自定义PCG蓝图节点
ExecuteWithContext: PointLoopBody: 效果:点密度值与缩放成正比...
迁移学习相关基础
迁移学习 目标 将某个领域或任务上学习到的知识或模式应用到不同但相关的领域或问题中。 主要思想 从相关领域中迁移标注数据或者知识结构、完成或改进目标领域或任务的学习效果。 概述 Target data:和你的任务有直接关系的数据,但数据量少ÿ…...
华为云计算HCIE-Cloud Computing V3.0试验考试北京考场经验分享
北京试验考场 北京考场位置 1.试验考场地址 北京市海淀区北清路156号中关村环保科技示范园区M地块Q21楼 考试场选择北京,就是上面这个地址,在预约考试的时候会显示地址,另外在临近考试的时候也会给你发邮件,邮件内会提示你考试…...
数据分析——学习框架
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
量化交易系统开发-实时行情自动化交易-3.4.2.Okex行情交易数据
19年创业做过一年的量化交易但没有成功,作为交易系统的开发人员积累了一些经验,最近想重新研究交易系统,一边整理一边写出来一些思考供大家参考,也希望跟做量化的朋友有更多的交流和合作。 接下来聊聊基于Okex交易所API获取行情数…...
pytorch实现深度神经网络DNN与卷积神经网络CNN
DNN概述 深度神经网络DNN来自人脑神经元工作的原理,通过在计算机中逻辑抽象出多个节点,接收处理并向后传递信息,实现计算机的自我学习,类比结构见下图: 该方法通过预测输出与实际值的差异不断调整节点参数࿰…...
芯片测试-LDO测试
LDO测试 💢LDO的简介💢💢压降💢💢决定压降的主要因素💢 💢LDO的分类及原理💢💢PMOS LDO💢💢PMOS LDO工作过程💢💢PMOS LDO…...
期权懂|期权新手看过来:看跌期权该如何交易?
期权小懂每日分享期权知识,帮助期权新手及时有效地掌握即市趋势与新资讯! 期权新手看过来:看跌期权该如何交易? 一、可以直接购买看跌期权: (1)选择预期下跌的标的资产。 (2&#…...
《深入浅出HTTPS》读书笔记(8):密码学Hash算法的分类
密码学Hash算法有很多,比如MD5算法、SHA族类算法,MD5早已被证明是不安全的Hash算法了,目前使用最广泛的Hash算法是SHA族类算法。 1)MD5 MD5是一种比较常用的Hash算法,摘要值长度固定是128比特。 MD5算法目前被证明已…...
大语言模型安全,到底是什么的安全
什么是AI安全 自ChatGPT问世以来,市场上涌现出了众多大型语言模型和多样化的AI应用。这些应用和模型在为我们的生活带来便利的同时,也不可避免地面临着安全挑战。AI安全,即人工智能安全,涉及在人工智能系统的开发、部署和使用全过…...
论文2—《基于柔顺控制的智能神经导航手术机器人系统设计》文献阅读分析报告
论文报告:基于卷积神经网络的手术机器人控制系统设计 摘要 本研究针对机器人辅助微创手术中定向障碍和缺乏导航信息的问题,设计了一种智能控制导航手术机器人系统。该系统采用可靠和安全的定位技术、7自由度机械臂以及避免关节角度限制的逆运动学控制策…...
试编写算法将单链表就地逆置(默认是带头节 点,如果是不带头节点地逆置呢?)
编写一个算法来就地逆置一个单链表。默认情况下,链表是带头节点的,但如果链表不带头节点,逆置的过程会有所不同。 第一步:定义逆置函数 根据题目中的“试编写算法将单链表就地逆置”,我们需要: 定义一个…...
FPGA学习笔记#3 Vitis HLS编程规范、数据类型、基本运算
本笔记根据笔者目前的项目确定学习目标,目前主要集中在Vitis HLS上,使用的Vitis HLS版本为2022.2,在windows11下运行,仿真part为xcku15p_CIV-ffva1156-2LV-e,从这一篇开始是HLS的学习进度,主要根据教程&…...
爬虫 - 二手交易电商平台数据采集 (一)
背景: 近期有一个需求需要采集某电商网站平台的商品数据进行分析。因此,我计划先用Python实现一个简单的版本,以快速测试技术的实现可能性,再用PHP实现一个更完整的版本。文章中涉及的技术仅为学习和测试用途,请勿用于商业或非法用…...
“成交量分布指标“,通过筹码精准锁定价格方向+简单找市场支撑压力位 MT4免费公式!
指标名称:成交量分布指标 版本:MT4 ver. 1.32 之前发布的市场分布图不少朋友反馈不错,希望获得其它版本。 这个版本只有MT4的,MT5可以看之前版本,链接: “市场分布图”,精准把握价格动向 更直…...
简记Vue3(四)—— 路由
个人简介 👀个人主页: 前端杂货铺 🙋♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…...
引线框架市场前瞻:预计至2032年将增长至338.8亿元
据恒州诚思调研统计,2025年全球引线框架市场规模达273.7亿元,预计至2032年将增长至338.8亿元,2026-2032年复合增长率(CAGR)为2.3%。作为半导体封装的核心组件,引线框架(由芯片安装板与引线指构成…...
Blender3mfFormat插件:3MF文件处理全攻略
Blender3mfFormat插件:3MF文件处理全攻略 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 一、项目核心价值解析 Blender3mfFormat作为Blender的专业级3MF文件…...
嵌入式系统内存泄漏防护与实战解决方案
1. 内存泄漏的危害与现状分析在嵌入式系统开发中,内存泄漏堪称"隐形杀手"。我经历过一个真实案例:某通信设备在现网运行三个月后频繁重启,最终定位是某个看似无害的日志处理函数每次调用泄漏512字节内存。这个案例让我深刻认识到&a…...
智能CPU性能优化工具:释放处理器潜能的系统级解决方案
智能CPU性能优化工具:释放处理器潜能的系统级解决方案 【免费下载链接】CPUDoc 项目地址: https://gitcode.com/gh_mirrors/cp/CPUDoc 当你在游戏中遭遇帧率骤降、视频渲染耗时过长,或是多任务处理时系统响应迟滞,这些问题的根源往往…...
CanCanCan控制器助手终极指南:load_and_authorize_resource深度解析与最佳实践
CanCanCan控制器助手终极指南:load_and_authorize_resource深度解析与最佳实践 【免费下载链接】cancancan The authorization Gem for Ruby on Rails. 项目地址: https://gitcode.com/gh_mirrors/ca/cancancan CanCanCan是Ruby on Rails最强大的授权gem&…...
函数信号发生器电路仿真、原理图及PCB设计
函数信号发生器电路仿真,原理图,PCB拆开手头的旧音响翻出几颗运放,突然想搞个函数信号发生器玩玩。这玩意儿说难不难,关键得让方波、三角波、正弦波乖乖听话。咱们今天直接从电路仿真干起,免得焊板子时炸电容。先上LTs…...
如何用ImageGlass替代Windows默认图片查看器:90+格式支持的完整指南
如何用ImageGlass替代Windows默认图片查看器:90格式支持的完整指南 【免费下载链接】ImageGlass 🏞 A lightweight, versatile image viewer 项目地址: https://gitcode.com/gh_mirrors/im/ImageGlass 在Windows系统中寻找一款能够完美替代默认图…...
BiliBili-UWP:打造Windows平台高效B站观影体验深度指南
BiliBili-UWP:打造Windows平台高效B站观影体验深度指南 【免费下载链接】BiliBili-UWP BiliBili的UWP客户端,当然,是第三方的了 项目地址: https://gitcode.com/gh_mirrors/bi/BiliBili-UWP BiliBili-UWP作为一款专为Windows平台设计的…...
CGAL Point_set_processing 点集处理函数自查表
参考来源: CGAL 6.1.1 - Point Set Processing: Algorithms 一、尺度 / K 值估算 返回值函数名作用用法示例size_testimate_global_k_neighbor_scale估算全局最优 K 邻域estimate_global_k_neighbor_scale(points)FTestimate_global_range_scale估算全局最优搜索…...
Anthropic泄露新一代Claude Mythos 模型,具备网络安全漏洞检测优势
配置错误曝光新模型Anthropic PBC 内容管理系统的一处配置错误意外泄露了其正在测试的新型大语言模型 Claude Mythos。该公司周四向《财富》杂志证实,工程师已完成该模型的训练工作,目前正与早期客户进行试点测试。Anthropic 强调这是其"迄今为止构…...
