Mac下的Jenkins安装
安装方式
1)通过命令行安装 brew install jenkins,可能会遇到先更新 brew 的情况 https://brew.sh/index_zh-cn;
2)通过 pkg 安装,官方网址:https://jenkins.io/
安装完成后,会自动打开浏览器 http://localhost:8080 ,然后按照提示根据自己的需求 Next 下去(最新版本的界面是中文,不用担心看不懂)
卸载
1)命令行安装的,请使用命令行卸载 brew uninstall jenkins
2)通过 pkg 安装
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
sudo rm /Library/LaunchDaemons/org.jenkins-ci.plist
sudo rm -rf /Applications/Jenkins "/Library/Application Support/Jenkins" /Library/Documentation/Jenkins
sudo rm -rf /Users/Shared/Jenkins
sudo dscl . -delete /Users/jenkins
sudo dscl . -delete /Groups/jenkins
launchctl 可以理解为执行定时 任务,开机时启动 jenkins。可以通过
sudo launchctl list | grep jenkins 来查看是否有 jenkins 服务被设置为开机启动,实际 load、unload的是一个 plist文件
权限问题
这个就把我搞的要死要活了,网上的方法我尝试了好多遍,就连 Jenkins 我都重新、卸载不下5遍。我决定总结一下,以防止有人再掉到坑里面了。
安装完 Jenkins 后,它默认新建了一个用户 jenkins,属性 daemon 组,这个可以通过 sudo open /Library/LaunchDaemons/org.jenkins-ci.plist 进行查看。
组名 和 UserName的获取,可以通过 shell 命令(id、whoami),也可以通过 “系统偏好设置” –> “用户与群组” 先解锁左下角的锁,再选中当前用户,右健
停止 Jenkins 服务
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
重新启动
sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
如果遇到 /Library/LaunchDaemons/org.jenkins-ci.plist: Path had bad ownership/permissions
可以使用下面的命令来处理
sudo chown staff /Library/LaunchDaemons/org.jenkins-ci.plist
sudo chgrp test-user /Library/LaunchDaemons/org.jenkins-ci.plist
sudo chmod 600 /Library/LaunchDaemons/org.jenkins-ci.plist
再次运行 (#注意下面,没有加 sudo,而且当前 shell 的登录用户必须是 test-user)
launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
查看文件的相关属性
$ sudo ls –l /Library/LaunchDaemons/org.jenkins-ci.plist
$ whoami
进行对比,当前登录的 shll, 是否有权限进行操作,默认之前是 jenkins 用户,重启电脑看是否 Jenkins 能正常启动
如果重启后,访问 localhost:8080 失效,可以使用手工启动
zsh /Library/Application\ Support/Jenkins/jenkins-runner.sh
确认是否加入到开机启动,可以使用上文中的命令
总结一下,主要是因为 sudo 这个命令有安全限制的问题,所以才会遇到无法执行“sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist”
最初不知道原因,傻不拉叽的卸载、重装N次,发现不行。在 Jenkins 中添加执行 Shell,输入 echo $PATH,看控制台上的输出,发现跟在 shell 命令中 echo $PATH,完全不一样。
最后,使用使用修改plist的用户名的帐号,打开 shell 并执行“launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist” 就搞定了。
修改 org.jenkins-ci.plist 文件后,该文件所有者变成 staff/test-user,而使用 sudo 《超级用户执行》居然会提示没有权限,蛋疼。用 test-user 执行就可以
最新文章
- Spring XML配置文件示例(一)——<;Servlet name>;-servlet.xml
- VC++ 在控件上写字时 字体的设置技巧
- JavaScript学习之对象
- Cobar使用文档(可用作MySQL大型集群解决方案)
- 3、MapReduce
- c# 获取MP3和AMR文件格式的时长
- 在vs中连接sql的几种连接方式
- java.lang.NumberFormatException: empty String 错误
- 转载:Tomcat多数据源配置方法
- if分支的四种形式
- Win7下Nginx的安装与配置,win7nginx配置
- css3鼠标悬停图片抖动效果
- redis基础操作~~数据备份与恢复、数据安全、性能测试、客户端连接、分区
- 快速理解js中的call,apply的作用
- redis基础篇
- 【转】深入理解Java:注解(Annotation)--注解处理器
- 做错的题目——this的指向
- oracle日志相关的表
- Objective-C市场占有率排名升至第4位
- How to properly release Excel COM objects
热门文章
- User模型扩展和自定义
- AtCoder Regular Contest 102 (ARC102) D All Your Paths are Different Lengths 构造
- BZOJ1823 [JSOI2010]满汉全席 2-sat
- java大数相加
- springmvc+ajax——第三讲(post请求)
- 事件(Event)(onclick,onchange,onload,onunload,onfocus,onblur,onselect,onmuse)【转载】
- MySQL高级01
- 002 如何在一台PC上装两个版本的python
- POJ 1284 Primitive Roots (欧拉函数+原根)
- java多线程之守护线程(Daemon)