搭建CI环境和git使用
部署Git+Gerrit+Jenkins 的CI环境
使用Git作为代码存储及版本控制
使用Jenkins进行自动化构建
构建测试通过后,再交给人工review
人工review通过后,自动同步到远程Git库中。
git —— 项目的版本管理工具
将项目的每个节点版本保存起来,以便随时能够回滚还原
协同开发
操作:
克隆远程仓库:git clone [ gitee仓库路径 ]
添加修改记录:git add --all ./
提交本地仓库:git commit -m "备注信息"
同步远程仓库:git push origin master
g++/gcc ——编译器,即将高级语言编译成为机器指令默认链接方式:动态链接
编译过程:
预处理——展开所有代码(宏替换,头文件,)
gcc -E 文件名 (-o(用来生成一个预处理文件) 生成的文件名)(mian.i)
编译——语法语义检测,没有错误则将代码解释成汇编指令
gcc -S 文件名 -o…(mian.s)
gcc -g——生成debug调试程序
eg: gcc -g main.c -o mian
汇编——将汇编指令解释成二进制的机器指令
gcc -c 文件名 -o…(mian.o)
链接——将所有需要的二进制机器指令(其他的.o以及库文件)打包生成可执行程序
gccmian.o -o…(mian)
静态链接:
将库中的使用到的代码写入到可执行程序中
缺陷:生成的程序较大,在运行时存在重复冗余代码
优点:运行时不需要依赖库
动态链接:
在可执行程序种记录库中函数符号信息表,并没有把具体实现的指令写入可执行程序,而是在运行程序的时候去加载这个库
优点:生成的程序小,在内存中共享库
缺陷:运行时依赖库的存在
gdb ——调试器,调试程序运行过程默认链接方式:
动态链接编译过程:预处理——展开所有代码(宏替换,头文件,)gcc -E 文件名 (-o(用来生成一个预处理文件) 生成的文件名)(mian.i)
编译——语法语义检测,没有错误则将代码解释成汇编指令
gcc -S 文件名 -o…(mian.s)
gcc -g——生成debug调试程序
eg: gcc -g main.c -o mian
汇编——将汇编指令解释成二进制的机器指令
gcc -c 文件名 -o…(mian.o)
链接——将所有需要的二进制机器指令(其他的.o以及库文件)打包生成可执行程序
gccmian.o -o…(mian)
静态链接:
将库中的使用到的代码写入到可执行程序种
缺陷:生成的程序较大,在运行时存在重复冗余代码
优点:运行时不需要依赖库
动态链接:
在可执行程序种记录库中函数符号信息表,并没有把具体实现的指令写入可执行程序,而是在运行程序的时候去加载这个库
优点:生成的程序小,在内存中共享库
缺陷:运行时依赖库的存在
gdb调试器——调试程序运行过程
调试程序的前提 ——这个程序是一个debug版本的程序
debug程序:
不进行代码优化,并且会加入调试信息
release程序:
会进行代码优化,提高程序运行效率(gcc默认生成release版本程序无法进行调试)
————————————————
版权声明:本文为CSDN博主「一月拾壹」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/stromSLR/article/details/121342745
搭建CI环境和git使用的更多相关文章
- 为容器化的 Go 程序搭建 CI
本文介绍如何使用 Jenkins 的声明式 pipeline 为一个简单的 Golang web 应用搭建 CI 环境.如果你还不太了解 Jenkins 及其声明式 pipeline,请先参考笔者的 ...
- Jenkins+Maven+Git CI环境搭建手册
Jenkins+Maven+Git CI环境搭建手册 环境: OS:Linux version 2.6.32-220.23.2.ali878.el6.x86_64 (ads@kbuild) (gcc ...
- Jenkins+Gitlab搭建持续集成(CI)环境
利用Jenkins+Gitlab搭建持续集成(CI)环境 Permalink: 2013-09-08 22:04:00 by hyhx2008in intern tags: jenkins gitla ...
- 【Devops】【docker】【CI/CD】1.docker搭建Gitlab环境
CI/CD[持续化集成/持续化交付] docker搭建Gitlab环境 1.查询并拉取gitlab镜像 docker search gitlab docker pull gitlab/gitlab-c ...
- React项目搭建基于Karma的CI环境
简介 在浏览Github的时候是否经常看到这样的CI图标呢? 本文即为介绍如何为基于React的项目配置CircleCI的自动化测试环境 源码在此 本地实现 项目依赖如下: "devDepe ...
- Xcode Server (Xcode9)搭建CI
Xcode 9将Xcode Server集成进来了,这是Xcode一个新特性,不用去单独下载server了,server可以用来做CI.自动化Test等等.这里主要介绍搭建CI,相当简单 打开开关,新 ...
- 「持续集成实践系列」Jenkins 2.x 搭建CI需要掌握的硬核要点
1. 前言 随着互联网软件行业快速发展,为了抢占市场先机,企业不得不持续提高软件的交付效率.特别是现在国内越来越多企业已经在逐步引入DevOps研发模式的变迁,在这些背景催促之下,对于企业研发团队所需 ...
- 搭建LNAMP环境(五)- PHP7源码安装Redis和Redis拓展
上一篇:搭建LNAMP环境(四)- 源码安装PHP7 一.安装Redis 1.创建redis用户组和用户 groupadd redis useradd -r -g redis -s /sbin/nol ...
- 一步一步搭建Jenkins环境
Jenkins使用经验谈1(一步一步搭建Jenkins环境)在公司使用 Jenkins 软件已经有一段时间了,走了很多弯路,但也积累了一些经验,可以和大家分享一下.我们来一起搭建Jenkins环境.首 ...
- 使用eclipse+tomcat搭建本地环境
项目开发工具很多,这里简单介绍下使用eclipse+tomcat如何搭建本地环境. 安装开发工具如下: 1. jdk的安装参考 下载地址:http://pan.baidu.com/s/1sj9rVYX ...
随机推荐
- java逻辑运算中 | | 和 | 的区别
本文主要阐明逻辑运算中 | |(短路或) 和 |(逻辑或) 的异同 | | 和 | 的相同之处: 只有二者都是假时,结果才为假,否则结果为true. | | 和 | 的不同之处在于: a | | b: ...
- [0x11] 131.直方图中最大的矩形【单调栈】
题意 link(more:SPOJ1805) 如图,在水平线上有 \(n(n\leqslant10^5)\) 个宽度为 1 ,高度为 \(h(0\leqslant h\leqslant10^9)\) ...
- Flutter异常监控 - 叁 | 从bugsnag源码学习如何追溯异常产生路径
如果觉得文章对你有帮助,点赞.收藏.关注.评论,一键四连支持,你的支持就是我创作最大的动力. ️ 本文原创听蝉 公众号:码里特别有禅 欢迎关注原创技术文章第一时间推送 ️ 前言 没错,继Flutte ...
- 学习ASP.NET Core Blazor编程系列二十——文件上传(完)
学习ASP.NET Core Blazor编程系列文章之目录 学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应 ...
- PyTorch如何加速数据并行训练?分布式秘籍大揭秘
PyTorch 在学术圈里已经成为最为流行的深度学习框架,如何在使用 PyTorch 时实现高效的并行化? 在芯片性能提升有限的今天,分布式训练成为了应对超大规模数据集和模型的主要方法.本文将向你介绍 ...
- JavaScript 检查(Linting)工具的比较
一个好的检查(linting)工具可以确保一个项目遵循编码规范. 让我们来看看四种流行替代方案的特性和优缺点:JSLint , JSHint , JSCS 和 ESLint . JSLint JSLi ...
- 发布并部署NCF站点的那些事
简介 开工第一天,祝大家2023年钱兔无量,技术兔飞猛进 为更加方便大家一站式打通所有使用NCF的环节,在新年开工的第一天给大家带来如何发布最新版本的站点 无论你的网站在开发环境做的多么的炫酷,实用, ...
- Pulsar负载均衡原理及优化
前言 前段时间我们在升级 Pulsar 版本的时候发现升级后最后一个节点始终没有流量. 虽然对业务使用没有任何影响,但负载不均会导致资源的浪费. 和同事沟通后得知之前的升级也会出现这样的情况,最终还是 ...
- Pytest插件pytest-order指定用例顺序
Pytest插件pytest-order指定用例顺序 安装 pip install pytest-order 注意不是pytest-ordering 说起来这里有个故事 关于pytest-order ...
- c++标准库string的使用完美总结——十分详细,复习学习记忆都可以使用
std::string详解 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作为一个类出现,他集成的操作函数足 ...