mac下Jenkins使用

一 、mac下Jenkins 主目录导致的权限问题

集成过程中我遇到了贼多由于权限导致的问题:

比如Unable to unlock login.keychain

再比如No profile matching 'xxxxx' found: Xcode couldn't find a profile matching 'xxxxx'

再比如No matching provisioning profile found: Your build settings specify a provisioning profile with the 巴拉巴拉的

发生这种问题的前提是下载和安装的从jenkins官网下载的pkg安装包,安装后会直接启动jenkins的web容器,然后你会发现jenkins的目录是默认安装在/Users/Shared/jenkins的(就是共享文件夹),也就是在你的用户目录之外,如下:


(我猜测可能是因为共享文件夹里的jenkins没有权限访问 用户里的钥匙串文件login.keychain?所以即使我配置的没有问题,在用xcodebuild 命令行打包的时候 还是会Unable to unlock login.keychain或者找不到对应的profile文件?)

然后我想把jenkins安装到我的用户下,可能就解决问题了。但是从官网下的pkg每次都是直接安装然后打开web容器了。然后查看主目录打开localhost:8080-系统管理-系统设置,发现路径是/Users/Shared/jenkins,然后准备修改主目录

尝试改过/etc/profile,添加JENKINS_HOME=XXXX,修改过之后,无果。

尝试过sudo vim org.jenkins-ci.plist,然而这个只读文件,哪怕修改了权限之后再修改jenkins home 也不行。

修改jenkins主目录/安装目录 解决方法:

不要从官方下载pkg安装

建议使用命令行安装jenkins

brew install jenkins

如果没有安装homebrew的话,需要先安装homebrew

ruby -e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

然后执行war包(注意下面的命令需要自己更换对应的版本号)

java -jar /usr/local/Cellar/jenkins/版本号/libexec/jenkins.war --httpPort=8080

 二、启动jenkins

java -jar jenkins.war

如果提示端口号8080已经被占用,则可以直接指定httpPort端口号启动

java -jar jenkins.war --httpPort=8081

如果想要在linux后台一直运行,则要开始加nohup,在末尾加&号

nohup java -jar jenkins.war --httpPort=8081 &

例如:nohup java -jar /usr/local/Cellar/jenkins/版本号/libexec/jenkins.war --httpPort=8080 &

三 定时器

Poll SCM:

定时检查源码变更,如果有更新就checkout最新code下来,然后执行构建动作。如果没有更新就不会执行构建

Build periodically:

周期进行项目构建(源码是否发生变化没有关系)

mac下Jenkins使用_第1张图片

其中:

minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

在以上各个字段中,还可以使用以下特殊字符:

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。

逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”

中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”

正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

你可能感兴趣的:(mac下Jenkins使用)