jenkins 对接 phabricator 的使用

环境需求

1. 安装 java,下载地址
[root@service java]# ls
jdk-8u221-linux-x64.rpm
[root@service java]# rpm -i jdk-8u221-linux-x64.rpm
2. 安装 maven,下载地址
3. 环境变量
[root@service java]# cat <<EOF >> ~/.bashrc
export JAVA_HOME="/usr/java/jdk1.8.0_221-amd64"
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:/opt/apache-maven-3.6.1/bin:$PATH
EOF

[root@service ~]# mvn -version
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:29+08:00)
Maven home: /opt/apache-maven-3.6.1
Java version: 1.8.0_221, vendor: Oracle Corporation, runtime: /usr/java/jdk1.8.0_221-amd64/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "4.14.124", arch: "amd64", family: "unix"
4. 如若是在公有云上,需要安全组开放端口 8080,或自己自定义的端口

安装 jenkins

1. 下载 jenkins

[root@service jenkins]# wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war

2. 进入下载目录,运行命令
[root@service jenkins]# java -jar jenkins.war --httpPort=8080 
3. 打开浏览器,进去链接
http://$your_ip:8080
4. 从界面提示的路径中获取管理员密码,解锁 jenkins
image.png
5. 选择 安装推荐插件
image.png
6. 等待安装完成
image.png
7. 初步安装配置完成
image.png
8. 登陆到界面
image.png

配置 jenkins job (此案例对接 phabricator )

1. 安装需要的插件
phabricator diff
2. 添加 jenkins 安装所在机器系统的 ssh key 到全局凭据(凭据 > 系统 > 全局凭据 > 添加凭据)
image.png

类型选择:“SSH Username with private key”
范围:全局(jenkins,nodes,items,all child items, etc)
Private Key: 添加 jenkins server 的私钥

image.png
3. 配置全局工具(以maven为例,系统管理 > 全局工具配置 > Maven,也可选择由 jenkins 自动安装)
image.png
4. 配置系统设置(系统管理 > 系统设置 > Phabricator > 添加 phabricator credential)
image.png
  • credential 的配置
    类型:Phabricator Conduit Key
    Description: 自定义
    Conduit Token:从 phabricator 上获取 (conduit token 需要在 phabricator 上新建一个 bot 类型的用户,并在 setting > API Conduit Tokens 处获取)
image.png
  • 添加了 credential 后,选择
image.png
  • Notification 也选择
image.png
  • 保存退出
5. 新建一个 FreeStyle job
image.png
6. 配置 参数构建

此处添加两个参数 DIFF_ID/PHID ,具体参数内容将从 phabricator 的 webhook 中传递进来

image.png
7. 源码管理设置(repo url/ credential /branch,credential为前面添加的 Jenkins server密钥)
image.png
8. 构建远程触发器
image.png
9. 构建环境,应用 phabricator differential
image.png
10. 根据不同项目添加构建操作(构建前xxx / 构建后xxx)
11. 将想要返回的结果添加到 phabriactor 的 comment 中
#!/bin/bash
PHABRICATOR_COMMENT=".phabricator-comment"
BuildURL=${BUILD_URL%*/}
SonarURL="http://sonar.xxx.xxx/sonarqube/dashboard?id”
echo "Sonarqube: " >> $PHABRICATOR_COMMENT
echo "$SonarURL=${JOB_NAME}" >> $PHABRICATOR_COMMENT

11. 为 phabricator 添加构建后操作
image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,014评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,796评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,484评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,830评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,946评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,114评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,182评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,927评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,369评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,678评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,832评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,533评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,166评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,885评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,128评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,659评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,738评论 2 351

推荐阅读更多精彩内容

  • 0推荐文章和网站 参考文章使用Jenkins配置Git+Maven的自动化构建jenkins git插件安装Jen...
    zlcook阅读 12,496评论 7 46
  • 目录 一、jenkins介绍二、jenkins安装三、了解jenkins四、发布php代码五、jenkins邮件配...
    XiaoMing丶阅读 13,123评论 0 6
  • 说到CI(持续集成)也许你脑子里马上会蹦出一个著名的CI工具,就是我们本篇实践记录中的jenkins。 没错,je...
    wendell_dev阅读 7,520评论 0 31
  • 前言 在日常开发中,经常会有发布的需求,而且经常会碰到各种环境,比如:开发环境、测试环境、生产环境。虽然可以使用手...
    tinylk阅读 38,727评论 34 77
  • 我今天发现一个大问题:以后我不能在生气的时候,装哭了。因为当我真生气的时候,我真哭了的时候,你却还以为我在装哭,就...
    野地百合_35b6阅读 190评论 0 1