这是我参加更文应战的第5天,活动概略查看: 更文应战

本文的项目地址。

提示:本文不介绍 Xcode Server 的底子配备进程

Xcode Server 是 Apple 公司供给的持python怎样读续集成方案,在 Xcode 9 之前需求在 Mac A变量的指针其意义是指该变量的pp Store 下载并设备 OS X Server。在Xcode 9中,Xcode Server被内置在了Xcode中,整个 CI 环境建立进程大大的简化了。

Xcode Server 构建完毕之后,能够变量泵看到构建进程中产生的各种数据,比方,在的 Commits 界面中,展现了本次集成和前次比较新增的 Git 提交记载。

获取 Xcode Server 的  Git 日志、钉钉提示

一般会将 Xcode Server 安置到一台独自的 Mac 上,当需求打包的时分源码码头,把代码合并到指定的分支上,Xcode Server 就会自动打包。

构建完毕之后,怎样将构建信息源码编辑器手机版下载告知到开发人员、测验人员以及项目负责人呢?让一切的人员都盯着 Xcode Server 上的信息么?显然在公司的交流东西(钉钉)中推送一条信息,并 @ 相关的人,是最便利的了。

下面是毕竟的完结展现,输出了尽可能详细的构建信息:编译信息、上传蒲公英的信息、代码改变记载、@ 相关的人员。

获取 Xcode Server 的  Git 日志、钉钉提示

提示:运用 Xcode Serverpython123平台登录 供给了直接下载、设备 App 的功能,但是需求经过 HTTPS 进行拜访,所以需求保证手机产品和 Xcode Server 在一个网段内,或许安置到 HTTPS 环境下。如果不能保证再考虑将 ipa 上传到蒲公英等相关分python爬虫发平台。

下面介绍怎样提取钉钉消息中的相关信息。

怎样提取编译信息

Xcode Server 供给了许多环境变量,构建完毕之后直接运用即可。

怎样提取版别信息

源码年代经过 API 将 ipa 提交到蒲公英后,会回来这部分的信息。

怎样代码提交记载

首要要注意一点,Xcode Server 会从 Git 库房拉取一份代码,放到自己专门项目途径,和咱们拉取的项目途径并不是同一个。

环境变量 XCS_PRIMpython123平台登录ARY_REpython123PO_DIR 供给了 Xcode Server 的作业产品设计专业空间的源代码存储库的途径。咱们能够运用 python 库 Repo 来获取 Git 的 commit 信息。

但是怎样获取本次构建相对于前次新增的 commit 信息呢?也就是怎样获取前次构建变量的指针其意义是指该变量的的时分最终一次 commit 的信息呢?

环境变量 XCS_OUTPUT_DIR 供给了 Xcode Server 集成期间存储的资源(包含源码编辑器手机版下载日志和源码编辑器编程猫产品)变量的指针其意义是指该变量的的尖端目录。
‘XCS_OUTPUT_DIR’ + “/sourceControl.log” 就是本地构建的日志信息。

// 一段日志信息
DVTSourceControlWorkspaceBlueprintLocationsKey =     {
B18B82A392A550FBEAB693A1A84AE2228193F564 =         {
DVTSourceContr源码年代olBranchIdentifierKey = master;
DVTSourceControlBranchOhttp 500ptionsKey = 4;
DVTSourc产品设计专业eCon产品运营trolBranchRemoteNameKey产品定位 = origin;
DVTSourceControlLocationRevisionKey = f7c3ccf7d8678fb26ae3700e747e057bd0b17c源码年代0f;
DVTSourceConpython能够做什么工作trolWorkspaceBlu源码交易网站源码eprintLocationTypeKey = DVTSourceControlBranch;
};
};

其间 DVpython编程TSourceControlLocationRevisionKey 节点包含了前次构建时的 commit 信息。

至此,Git 的 commit 信息就能够获取到了,总结一下:

  1. 环境变量 XCS_PRIMARY_REPO_DIR 为 Xcode Server 的源码途变量类型有哪些径;
  2. python 库 Repo 能够用来提起 commit 信息;
  3. sourceControl源码年代.logDVTSou源码网站rceControlLocationRevisionKey 包含了前次构建的 commit 信息。

本文的项目地址,能够查看一切相关代码。