Jenkins 踩坑指南

基本概念

  • ocunit2junit:一个脚本,用于将xcodebuild中的OCUnit输出转换为JUnit使用的XML格式。 允许在像Jenkins这样的连续集成服务器上构建XCode,并提供测试报告!

  • slather:为Xcode项目生成测试覆盖率报告, 并且可以挂进CI。

  • 2>&1:将标准错误也输出到标准输出当中。

  • 证书:Credentials中添加新的你所需的授权,例如远程仓库的账号密码或ssh私钥信息等,上传完成后,Jenkins会为每一个授权赋予一个加密并提供对应此授权的ID,之后需要用到的地方,选择或填写对应的ID即可。
    使用 credentials
    CI环境iOS入门篇

  • 触发器

    • Trigger builds remotely :通过生成token,可以远程构建。即生成token后可以按照指定的URL去远程触发这个任务,而不用登录系统。
    • Build after other projects are built:在构建其他项目后构建,此时会设置一个观察对象
    • Build periodically:周期性的构建,不管源码有没有变化,都会构建
    • Poll SCM:周期性构建,源码发生变化才构建
    • GitHub hook trigger for GITScm polling:这是GitHub的一个插件。可以通过配置GitHub相关功能,配合这个插件实现,向GitHub提交代码时触发Jenkins自动构建的功能。
      • 注意1:Hook URL的配置方式
      • 注意2:localhost无法直接配置,需要内网转发外网,可以借助ngrok原理
      • 注意3:GitHub Webhooks Secret 和 Jenkins Secret 要配置一样(都是通过 GitHub Developer settings生成的)。
  • 常见问题