Jenkins本地搭建遇到的问题 for Mac
为了测试方便,想在本地完成python+requests+Jenkins的接口自动化,但是在使用Jenkins构建本地任务的时候,出现了各种各样的问题,在这里做一个记录。
1、在官网下载dmg安装包,安装完毕即可在本机搭建jenkins的工作。但是jenkins不会用本地的用户去构建,任何创建的文件都是“jenkins”用户所有,这会造成很多权限问题,无法调用自己写的脚本,执行shell会出现没有权限的错误。
解决方法:
1、查阅了很多资料,都是说修改
/Library/LaunchDaemons/org.jenkins-ci.plist
中的用户权限
但是在执行Jenkins restart命令时出现权限错误问题:
Screen Shot 2018-05-17 at 6.29.55 PM.png于是各种修改Library文件夹下的权限,失败。这种方法不可行。
2、又再次查看大家对Jenkins配置相关的文章,发现这样一句话:
不要从官方下载pkg安装
(1)于是改变策略,先卸载已经安装好的Jenkins:
/Library/Application\ Support/Jenkins/Uninstall.command
如何担心无法彻底卸载干净,可以查看这篇文章:
彻底卸载Jenkins
(2)通过brew安装Jenkins
brew install jenkins
如果未安装brew,先安装brew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
安装完成后,执行war包(我的Jenkins版本是2.122,可根据自己的Jenkins版本更换版本号):
java -jar /usr/local/Cellar/jenkins/2.122/libexec/jenkins.war --httpPort=8080
(3)安装完成后,回提示如何开启Jenkins服务,以及如何停止;
Screen Shot 2018-05-17 at 6.32.54 PM.png启动后,不要着急打开Jenkins 的web容器。先去/Library/LaunchDaemons
目录下新建一个org.jenkins-ci.plist
文件
内容如下:
Screen Shot 2018-05-18 at 10.40.17 AM.png
可直接拷贝如下文档:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>StandardOutPath</key>
<string>/var/log/jenkins/jenkins.log</string>
<key>StandardErrorPath</key>
<string>/var/log/jenkins/jenkins.log</string>
<key>EnvironmentVariables</key>
<dict>
<key>JENKINS_HOME</key>
<string>/Users/leon/Documents/FuckingJenkins/Jenkins/Home</string>
</dict>
<key>GroupName</key>
<string>daemon</string>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>org.jenkins-ci</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>/Library/Application Support/Jenkins/jenkins-runner.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>jenkins</string>
<key>SessionCreate</key>
<true/>
</dict>
</plist>
可以发现,JENKINS_HOME是你的路径。
(4)启动Jenkins
未避免权限问题,先执行下面的命令行“
sudo chown root /usr/local/Cellar/jenkins/2.122/homebrew.mxcl.jenkins.plist
sudo chown root /usr/local/Cellar/jenkins/2.122/homebrew.mxcl.jenkins.plist
(5)到这里就可以打开Jenkins的web容器,注册管理员账号,设置全局属性
选择“系统管理”——“系统设置”,进入系统设置界面
全局属性下面,勾选环境变量,增加一对键值对:
PATH = (终端中执行 echo $PATH 命令的输出,为一堆路径)
Screen Shot 2018-05-18 at 11.09.40 AM.png3、调用本地脚本,终于可以正常执行了
Screen Shot 2018-05-18 at 11.13.39 AM.png