Jenkins从配置到实战(一) - 实现C/C++项目自动化编译

news2024/11/26 4:41:41

前言

  • 本文章主要介绍了,如何去安装和部署Jenkins,并实现自动拉取项目代码,自动化编译流程。

网站

  • 官网
  • 中文网站

下载安装

  • 可以下载这个
    在这里插入图片描述
  • 安装jenkins前先安装java
    • yum search java|grep jdk
    • yum install java-1.8.0-openjdk
  • 安装jenkins
    • java -jar jenkins.war
  • 安装后去浏览器访问对应的8080端口,出现以下页面
    在这里插入图片描述
  • 稍微等几分钟,会出现这个界面。按照提示将密码拷贝过来
    在这里插入图片描述
  • 可以选择安装推荐的插件
    在这里插入图片描述
  • 这块可能比较慢,稍微等会
    在这里插入图片描述
  • 经过等待进到这个界面,我们创建一个管理员账户
    在这里插入图片描述
  • 用户创建完成就进到jenkins页面了
    在这里插入图片描述

Jenkins使用

准备工作

  • 拉取代码前,我们需要一台git服务器,可参考我的另一篇文章去搭建一台 GitLab服务器搭建
  • 然后还需要在我们的jenkins这台机子上安装git
    • yum install git
  • 安装cmake
    • 建议去官网下载较新版本的cmake,使用命令安装的cmake版本较低,可能会报错。

流水线pipeline

  • 使用流水线可以让我们的任务从ui手动操作,转换为代码化,更适合大型项目。
  • 完整语法
    • pipeline : 整条流水线
    • agent : 指定执行器
    • stages : 所有阶段
    • stage:某一阶段,可有多个
    • steps : 阶段内的每一步,可执行命令
  • helloword实战教程
    • 新建一个item
      在这里插入图片描述

    • 输入一个任务名,选择流水线
      在这里插入图片描述

    • 点击我们创建的任务
      在这里插入图片描述

    • 选择配置
      在这里插入图片描述

    • 填写一个官方的脚本案例,保存。
      在这里插入图片描述

    • 点击这里的立即构建
      在这里插入图片描述

    • 可以看到下面的构建记录
      在这里插入图片描述

    • 点进去,选择控制台
      在这里插入图片描述

    • 可以看到整个执行流程的打印,并且已经执行成功了
      在这里插入图片描述

自动化项目构建

  • 下面就正式开始实现自动化拉取代码,编译
  • 新创建一个任务 autoProject
  • 选择这里的流水线语法
    在这里插入图片描述
  • 选择片段生成器,选择这里的checkout,也就是拉取代码
    在这里插入图片描述
  • 然后就填写git服务器上你自己工程的URL,并且填写用户名和密码,选择对应的分支
    在这里插入图片描述
  • 我自己搭建的gitlab服务器上已经有一份代码了
    在这里插入图片描述
  • 填写完后选择生成流水线脚本
    在这里插入图片描述
  • 把脚本拷贝过来粘贴到这里
    在这里插入图片描述
  • 保存后点击构建
    在这里插入图片描述
  • 构建完成了,对号说明构建成功了
    在这里插入图片描述
  • 看下控制台的打印,是成功的
    在这里插入图片描述
  • 然后去jenkins服务器上,可以看到代码已经被拉下来了
    在这里插入图片描述
  • 自动拉取代码已经完成了,接下来就是实现自动编译。直接在脚本这里写上编译命令
    在这里插入图片描述
  • 然后点击构建,可以看到成功了
    在这里插入图片描述
  • 进到jenkins服务器对应目录下,可以看到有已经有编译成功的程序了
    在这里插入图片描述
  • 到这里,我们已经实现了自动化的拉取代码和编译。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/778552.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NE555 PWM输出

NE555是一种集成电路(IC),通常用于电子电路的各种目的,包括计时器、振荡器等等。 本文介绍搭建NE555电路输出PWM信号,电路如图下: 使用该电路可以输出PWM占空比≥50%波形,仿真波形如下图&#…

20230723在win10的命令行下显示文本文件的内容type

20230723在win10的命令行下显示文本文件的内容type 2023/7/23 20:35 百度搜索:WINDOWS 命令行 打开文本文件 windows命令行读取文件命令-WinFrom控件库|.net开源控件库... 2023年7月14日 linux下,可能会用到cat或都是more命令,windows下可以使用type或more命令 type…

VMware Fusion 14 Tech Preview - 适用于 Arm 的 Windows 11 上的全面 3D 加速

VMware Fusion 14 Tech Preview - 适用于 Arm 的 Windows 11 上的全面 3D 加速 VMware Fusion Tech Preview 2023 请访问原文链接:https://sysin.org/blog/vmware-fusion-14/,查看最新版。原创作品,转载请保留出处。 作者主页:…

求解包含约束的最优化问题:罚函数法

文章目录 外点罚函数法内点罚函数法罚函数法 vs 拉格朗日乘子法 外点罚函数法 针对包含约束条件的最优化问题,此前介绍的拉格朗日乘子法和KKT条件已经提供一种有效的解决方案。但由于我是从智能优化算法入门运筹优化行业的,所以在遇到这类问题时&#x…

day35-Image Carousel(图片轮播图简易版)

50 天学习 50 个项目 - HTMLCSS and JavaScript day35-Image Carousel&#xff08;图片轮播图简易版&#xff09; 效果 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport…

93、简述kafka架构设计

kafka架构设计 Consumer Group&#xff1a;消费者组&#xff0c;消费者组内每个消费者负责消费不同分区的数据&#xff0c;提高消费能力。逻辑上的一个订阅者。Topic: 可以理解为一个队列&#xff0c;Topic 将消息分类&#xff0c;生产者和消费者面向的是同一个 Topic。Partiti…

netty组件详解-中

接着之前的博客netty组件详解-上&#xff0c;我们继续深入到源码层面&#xff0c;来探究netty的各个组件和其设计思想&#xff1a; netty内置的通讯模式 我们在编写netty代码时&#xff0c;经常使用NioServerSocketChannel 作为通讯模式。 例如下面的简单netty客户端示例: pri…

Docker迁移默认的/var/lib/docker目录

安装完Docker后&#xff0c;默认存储路径在/var/lib/docker目录&#xff0c;如果服务器挂载的硬盘不是根目录的话&#xff0c;可能会造成资源不够用。这时候就需要迁移docker默认的目录。 1.停止docker服务 systemctl stop docker 复制 2.创建docker新目录 mkdir -p /data…

airtest-selenium 脚本爬取百度热搜标题

目录 1. 前言 2. 爬取标题的脚本 3. 命令行运行 Web 自动化脚本 1&#xff09;python 环境准备 2&#xff09;chrome 与 chromedriver 版本对应 3&#xff09;命令行运行 1. 前言 airtest-selenium是一个基于Python的UI自动化测试框架&#xff0c;它结合了airtest和sele…

【Redis】缓存问题小记

文章目录 1、缓存模型和思路1.1、缓存更新策略1.2、具体实现思路 2、缓存穿透问题2.1、方案分析2.2、缓存空对象实现思路2.3、小总结 3、缓存雪崩4、缓存击穿4.1、方案分析4.1.1、互斥锁4.1.2、逻辑过期4.1.3、方案对比 4.2、互斥锁实现思路4.3、逻辑过期实现思路 1、缓存模型和…

微服务——统一网关Getway

为什么需要网关&#xff1f; 网关的两种实现: 网关Getway——快速入门 步骤一 网关背身也是一个微服务&#xff0c;需要注册到nacos中去 步骤二 成功运行后 可以通过网关进行请求转发到对应服务。 流程如下&#xff1a; 路由断言工厂 网关路由可以配置的东西有如下。 spri…

RocketMQ分布式事务 -> 最终一致性实现

文章目录 前言事务消息场景代码示例订单服务事务日志表TransactionMQProducerOrderTransactionListener业务实现类调用总结 积分服务积分记录表消费者启动消费者监听器增加积分幂等性消费消费异常 前言 分布式事务的问题常在业务与面试中被提及, 近日摸鱼看到这篇文章, 阐述的…

Web前端开发概述(二)

&#x1f60a;Web前端开发概述&#xff08;二&#xff09; &#x1f47b;前言&#x1fa81;前端开发背景&#x1f50d;当下前端开发要求&#x1f526;Web前端开发技术&#x1f3ad;HTML&#x1f3ad;CSS&#x1f3ad;JavaScript&#x1f3ad;HTML DOM&#x1f3ad;BOM&#x1f…

Spring中AOP的通知类型和执行顺序

Spring中AOP的通知类型&#xff1a; Around&#xff1a;环绕通知&#xff0c;此注解标注的通知方法在目标方法前、后都被执行Before&#xff1a;前置通知&#xff0c;此注解标注的通知方法在目标方法前被执行After &#xff1a;后置通知&#xff0c;此注解标注的通知方法在目标…

Jmeter+Jenkins+Ant自动化持续集成环境搭建

一、安装准备 1.JDK:jdk-8u121-windows-x64 2.jmeter工具&#xff1a;apache-jmeter-2.13 3.ANT工具&#xff1a;apache-ant-1.9.7-bin 4.jenkins工具&#xff1a;jenkins-2.32.2 二、软件安装 1.JDK的安装 >双击JDK安装包&#xff0c;选择安装路径&#xff08;本人是…

论文笔记--ERNIE: Enhanced Language Representation with Informative Entities

论文笔记--ERNIE: Enhanced Language Representation with Informative Entities 1. 文章简介2. 文章概括3 文章重点技术3.1 模型框架3.2 K-Encoder(Knowledgeable Encoder)3.3 预训练任务3.4 微调 4. 文章亮点5. 原文传送门6. References 1. 文章简介 标题&#xff1a;ERNIE:…

每天五分钟计算机视觉:单卷积层的前向传播过程

什么是单卷积层? 一张图片(输入)经过多个卷积核卷积就会得到一个输出,而这多个卷积核的组合就是一个单卷积层。 这些卷积核可能大小是不一样的,但是他们接收同样大小是输入,他们的输出必须是一般大小,所以不同的卷积核需要具备不同的步长和填充值。 单层卷积网络前向传…

springboot+vue开发后台增删改查

效果图 前端代码【User.vue】 <template><div class"data-container"><!--添加 start--><div class"data-header"><el-button round click"addHander" size"large" type"primary"><el-ic…

Cesium态势标绘专题-普通点(标绘+编辑)

标绘专题介绍:态势标绘专题介绍_总要学点什么的博客-CSDN博客 入口文件:Cesium态势标绘专题-入口_总要学点什么的博客-CSDN博客 辅助文件:Cesium态势标绘专题-辅助文件_总要学点什么的博客-CSDN博客 本专题没有废话,只有代码,代码中涉及到的引入文件方法,从上面三个链…

ORB-SLAM2学习笔记5之EuRoc、TUM和KITTI开源数据运行ROS版ORB-SLAM2生成轨迹

文章目录 0 引言1 数据预处理1.1 EuRoc数据1.2 TUM数据1.3 KITTI数据 2 代码修改2.1 单目2.2 双目2.3 RGB-D 3 运行ROS版ORB-SLAM23.1 单目3.2 双目3.3 RGB-D ORB-SLAM2学习笔记系列&#xff1a; 0 引言 ORB-SLAM2学习笔记1已成功编译安装ROS版本ORB-SLAM2到本地&#xff0c;本…