在Github中集成Danger与SwiftLint

2018-10-08  本文已影响0人  JQWONG

近两个月开始到公司实习了,上周leader想要我在Github上配个Danger和SwiftLint,网上关于SwiftLint的教程还是比较多的,但是Danger只能找到很简陋的两篇。弄了几天配成功了,所以写篇文章,作为自己的笔记或者给大家参考都好

环境:Github、Danger、SwiftLint、Buddybuild、macOS 10.13.6

先把SwiftLint配置到项目或者自己的环境中,网上有很多SwiftLint的教程,也可以看看SwiftLint的官方文档。

安装SwiftLint,可以根据自己选择三个不同的方式

Homebrew: brew install swiftlint

CocoaPods: pod 'SwiftLint'

通过按装包安装

具体步骤可以按照官网

集成Danger到你的项目

创建Gemfile: bundle init

在Gemfile中添加danger,danger-swiftlint

创建Gemfile.lock: bundle install,你会发现你的项目根目录会多一个Gemfile.lock,在.gitignore中取消对.lock的忽略,否则Gemfile.lock会传不上GitHub

可以在控制台输入 bundle exec danger init根据提示进行操作

创建Dangerfile

默认生成的Ruby代码

添加一行swiftlint.lint_files

将SwiftLint整合到项目中

只需要在 Xcode 中添加一个新的“Run Script Phase”并且包含如下代码即可

创建GitHub账号并配置Access Token

如果是开源项目,提供public_repo权限,如果是私有项目,提供完整的repo权限(即repo: stauts repo_deployment public_repo)值得一提的是,在GitHub中提示的人就是配置Access Token的账号

将Token添加到CI中

这里我添加到的是Buddybuild,需要添加三个环境变量

More->App Settings->Environment

DANGER_GITHUB_API_TOKEN

DANGER_GITHUB_HOST

DANGER_GITHUB_API_BASE_URL

到此为止,所有东西就配置好了,可以测试一下,创建一个带[WIP]的PR标题,就会得到下面的结果

有一些不需要的规则,可以根据项目要求在.swiftlint.yml文件进行修改

例如这样

之后有时间会写一下各个规则

第一次写,还望多多指教,不喜勿喷

未经授权,禁止转载!

尊重原创,转载请注明出处,谢谢!

上一篇下一篇

猜你喜欢

热点阅读