从Jenkins或Gerrit上获取拉代码和编译命令

在解一个新平台的bug时,有时候我们需要去拉新平台的代码和知道编译命令,这时候我们一般是去找对应的release manager或去问SPM,这其中就会增加沟通成本,这时候如果我们能自己去公司的Jenkins或Gerrit上获取这些信息,就会达到高效、快速的效果。

1. 从Jenkins上去寻找

前提:到Jenkins上去找对应项目的这些信息,前提是需要SPM给你开相应的权限,如果没有权限,是看不到这些信息的。

1.1 没有权限时

当你没有权限的时候,在Jenkins上进入对应项目的任务时,一般显示如下:

你会发现Jenkins上只显示了“返回面板”、“状态”、“修改记录”,没有其他配置相关的入口。

1.2 有权限时

当SPM给你开了对应项目的Jenkins任务权限时,在Jenkins上进入对应项目的任务时,一般显示如下:

这时候你就会发现与没有权限的时候相比,多了“Build with Parameters”、“配置”、“Email Template Testing”、“Job Config History”这四个入口。

然后进入到“配置”—>构建—>Execute shell中:

在上面的路径中,就可以找到我们想要的拉代码命令和编译命令。

2. 从Gerrit上去寻找

到Gerrit上去找拉代码和编译命令时,是不需要SPM开权限的,只要你有从公司Gerrit上拉代码的权限就行(作为程序员这个权限应该是从进入公司的第一天就有了)。

到公司的Gerrit上,通过项目的关键字寻找:

在Projects—>List—>Filter中输入项目的关键字。

搜索结束后,找到项目对应的manifest文件:

点击进入到manifest文件中:

这时候我们就找到了git clone manifest文件。其中 :
ssh://salmonzhang@ppgerrit.com:29418/AmlogicT950/manifest是远程仓库名。
将manifest文件git clone到本地:

clone到本地后,在manifest仓库中选择自己想要的xml文件。
找到远程仓库名和自己想要的xml文件后,就可以拼接拉取代码的命令:

repo init -u manifest仓库 -m 自己想要的xml文件名

那我们这里就是:

 repo init -u ssh://salmonzhang@ppgerrit.com:29418/AmlogicT950/manifest -m Amlogic_T960_T950_BiuOS2.0.xml

执行拉取代码的命令,然后repo sync 同步下代码。

这里需要对repo略懂,如果还不太熟悉的朋友,可以看下我以前写的一篇的repo学习总结:

repo学习总结

repo sync命令执行完成后,这时候代码就已经拉下来了,然后我们只需要到build.sh中去到相应的编译命令即可。
打开build.sh文件:

一般可以在function help函数中对应项目的编译命令。
这里我对应项目的编译命令是:

./build.sh all user -j4 -d p34a3p

其中,-j4里的4指的是线程数量,就是你想用几个线程去编译这个工程。一般是编译主机CPU支持的并发线程总数的1倍或2倍(例如:在一个4核,每个核支持两个线程的CPU上,可以使用make -j8或者make -j16)。

如果没有编译命令的Example,只要你对基本shell语法有所了解,也可以很快找到的。

综上所述,我们就可以自己在Jenkins或Gerrit找到自己想要的代码和编译命令,在减少沟通成本的同时,也可以get到一些程序员的基本技能。

从Jenkins或Gerrit上获取拉代码和编译命令相关推荐

  1. git 获取最新代码_常用命令之git操作(入门篇)

    Git 是一个本地代码管理的工具.它是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 如今的公司,只要涉及到项目开发的,基本都是用 git 来管理代码.所以,学习和掌握一些基本的 ...

  2. php获取svn文件,然后ftp上传服务器代码

    配置文件 <?php //setup commandline $svn_cmd1 = 'svn.exe update '; $svn_cmd2 = ' --username xxx --pass ...

  3. git 从远程git服务上拉代码 git服务器非默认端口

    从服务器上拉代码有如下报错: fatal: Not a git repository (or any of the parent directories): .git 初始代本地版本库: [root@ ...

  4. android 仿ios动画效果代码,Android仿IOS上拉下拉弹性效果的实例代码

    用过iphone的朋友相信都体验过页面上拉下拉有一个弹性的效果,使用起来用户体验很好:Android并没有给我们封装这样一个效果,我们来看下在Android里如何实现这个效果.先看效果,感觉有些时候还 ...

  5. git的基本使用---在coding上进行拉取、提交代码

    文章目录 前言 一.在coding上进行SSH公钥配置的步骤 二.在coding中git的基本操作 I.第一次拉取代码时 1.克隆仓库代码 II.进行修改后向仓库提交代码 2.查看自己修改完毕的代码 ...

  6. [Android]拉代码、上库、编译等

    拉代码.上库.编译等 1.代码下载 拉仓 下载该仓库下所有代码 查看该project有哪些仓库 下载单个仓库 代码更新 2.代码修改 分支操作 新建分支 查看分支 切换分支 删除分支 查看历史修改 对 ...

  7. 《持续集成实践指南》第2章 持续集成环境搭建Jenkins+Gitlab+Gerrit

    开发环境: 服务器:Ubuntu Server 20.04 2.1简介 Jenkins是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件 ...

  8. iOS Jenkins自动化打包 上传fir、蒲公英、邮件、钉钉提醒

    一.环境配置 注意,本文章是以Jenkins2.263.4为例 1.首先安装Java环境:官网下载地址 2.安装Jenkins 建议下载Jenkins 2.263.4版本,因为最新版本存在login. ...

  9. 构建git+gerrit+repo的Android代码服务器

    谷歌的Android源码是基于Git+Repo管理的,官方推荐的代码管理也是git+gerrit+repo.谷歌自己都在用的东西,各种优点,各种强大就不用说了,你懂的.关于它们的介绍可查阅极客学院的W ...

最新文章

  1. 【 笔记 】定位算法性能分析
  2. CF1478A - Nezzar and Colorful Ball(数学)
  3. mysql8.0.13可以用在生产环境_(13)生产环境出现大量DB死锁
  4. antd vue中,如何给表单动态添加input,解决遇到一些坑
  5. 5万能搞定百平家装主材、家具、家电吗?
  6. 计算机环形拓扑结构教案,面试真题高中信息技术《网络拓扑结构》教学设计...
  7. 谷歌大脑发布神经架构搜索新方法:提速1000倍
  8. 【java笔记】异常处理
  9. BLOG 可能的 BUG
  10. python中如何调用函数_如何调用python中的内置函数?(实例解析)
  11. D4 数据分析实例:分析movielens电影数据+pandas核心数据结构
  12. GET和POST区别详解
  13. 玩客云折腾记录(一):编译 ArmBian 系统
  14. 图像加密技术综述(常见的图像加密算法简介)
  15. 定量数据和定性数据_定性数据:赋予大数据意义的上下文
  16. 用Python合并多张EXCEL工作表
  17. 养兔子c语言sdut,SDUT 养兔子
  18. 怎么用万用表检测场效应管的好坏?
  19. 用PHP写出自己喜欢的天气,我喜欢的天气作文
  20. 如何在WORD中输入方框,并且在里面打勾?

热门文章

  1. 微信视频号推荐算法上分技巧
  2. 「Innovation 2021」网易应用创新开发者大赛正式收官,十强选手精彩对决
  3. 网易创新企业大会倒计时2天 《企业数字化升级之路》白皮书将发布
  4. 【实战分享】使用Core Audio实现VoIP通用音频模块
  5. 你将被重新带回到 那个燃烧彼此的世界
  6. 前端每日实战:116# 视频演示如何用 CSS 和原生 JS 开发一个监控网络连接状态的页面...
  7. centos7搭建SVN+Apache+IF.svnadmin支持https实现web管理SVN
  8. 用数组实现从文件搜索帐户和验证密码
  9. android初学之退出应用程序
  10. Servlet总结04——注意Servlet单实例的线程安全性