Mac上通过Homebrew搭建jenkins过程中遇到的问题

1、安装插件,提示offline,该jenkins实例似乎已离线

重新打开一个网页tab,访问http://localhost:8080/pluginManager/advanced,找到【升级站点】模块,把https链接修改成http的,回到原jenkins工作台,刷新即可。
如果还是不行尝试把升级站点的链接替换为下边中的一个:
http://mirror.esuni.jp/jenkins/updates/update-center.json
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
http://mirror.xmission.com/jenkins/updates/update-center.json
最后点击【提交】,重启jenkins

2、No such plugin: cloudbees-folder

手动下载cloudbees-folder插件
http://ftp.icm.edu.pl/packages/jenkins/plugins/cloudbees-folder/
下载完后放置到 ~/.jenkins/plugins/路径下,重启jenkins

$ brew services restart jenkins

3、给定的源码仓库地址无法访问

Failed to connect to repository : Command "git ls-remote -h http://192.168.19.111:8080/yongqian/MyProject.git HEAD" returned status code 128:
stdout: 
stderr: remote: The project you were looking for could not be found.
fatal: repository 'http://192.168.19.111:8080/yongqian/MyProject.git/' not found

出现这种问题检查仓库链接是否正确,如果链接没错检查当前用户是否有访问权限

4、npm: command not found

jenkins部署完成后,在执行构建任务时可能会遇到提示 command not found的情况
如 npm: command not found
这是因为jenkins不与当前设备共享环境变量导致的,需要我们手动配置jenkins的环境比变量
首先,查看当前设备的环境变量:

$ echo $PATH

// Users/imc/.nvm/versions/node/v10.16.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Applications/Wireshark.app/Contents/MacOS:/Users/imc/Library/Android/sdk/tools:/Users/imc/Library/Android/sdk/platform-tools:/usr/local/mysql/bin:/Users/imc/Library/Android/android-ndk-r10e/

Manage Jenkins -> Configure System -> 全局属性 -> 勾选Environment variables
在键值对列表中填入你的环境变量

键 PATH  
值 Users/imc/.nvm/versions/node/v10.16.0/bin:..........  

5、局域网IP无法访问

一般jenkin部署在专用设备上,部署完成后允许局域网内其他设备访问,但是通过homebrew安装的jenkin默认不支持对外的IP访问,在专用设备上通过 localhost:8080127.0.0.1:8080访问

修改这一行为需要修改两个配置文件
~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
/usr/local/opt/jenkins/homebrew.mxcl.jenkins.plist
把这两个配置文件中的httpListenAddress后的127.0.0.1替换为本机IP或0.0.0.0,重启jenkins即可

6、使用fir.im做应用分发

下载fir-plugin,下载完成后打开插件管理-高级http://localhost:8080/pluginManager/advanced,【上传插件】选中你下载的 *.hpi文件点击【上传】,然后重启jenkins。
在项目构建设置中,选择【增加构建后操作步骤】,选择Upload to fir.im,输入你的API-Token即可

fir.im的jenkins插件已经不再维护,而且实际使用过程中发现在构建任务配置中使用fir插件时会有API-Token被修改导致不能正常上传到fir.im的问题

因此,推荐使用fri-cli

gem install fir-cli

如果遇到以下错误

ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/bin directory.

尝试使用

sudo gem install fir-cli

sudo gem install fir-cli -n /usr/local/bin

最后在Jenkins构建任务的配置中的Execute Shell中添加

API_TOKEN='**************'
PACKAGE_PATH_IPA='./**/**/**.ipa'
PACKAGE_PATH_APK='./**/**/**.apk'
fir login $API_TOKEN
fir publish $PACKAGE_PATH_IPA

推荐阅读更多精彩内容