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

前言

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

网站

下载安装

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

Jenkins使用

  • jenkins启动 :java -jar jenkins.war

准备工作

  • 拉取代码前,我们需要一台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服务器对应目录下,可以看到有已经有编译成功的程序了
  • 到这里,我们已经实现了自动化的拉取代码和编译。
相关推荐
airobotcn13 小时前
智能巡检平台容器化部署:Docker+K8s在工业边缘的实践
人工智能·docker·容器·kubernetes·机器人·自动化
Android系统攻城狮13 小时前
Linux PipeWire深度解析之pw_properties_iterate调用流程与实战(六十五)
linux·运维·服务器·音频进阶·pipewire音频进阶
研华科技Advantech14 小时前
案例 | 从离线巡检到在线看护:研华PHM解决方案赋能石油钻井平台智能运维
运维·人工智能·边缘计算
難釋懷14 小时前
Nginx主动健康检查
运维·nginx
ITyunwei098714 小时前
内存溢出报错,实战处理记录
运维·服务器·企业微信
Elastic 中国社区官方博客14 小时前
你的 AI agent 不需要你的 API 密钥:使用 OAuth 2.1 对 Elasticsearch MCP 服务器进行身份验证
大数据·运维·人工智能·elasticsearch·搜索引擎·全文检索
FreeTinker14 小时前
AP AC组网中的远程运维挑战及内网穿透技术应用分析
运维
airobotcn14 小时前
AI Agent下工厂:大模型如何驱动巡检机器人自主决策
人工智能·机器人·自动化·无人机
Huangjin007_16 小时前
【Linux 系统篇(十五)】进程 (三) :进程状态深度详解
linux·运维
RisunJan16 小时前
Linux命令-talk(终端实时对话)
linux·运维·服务器