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 执行就可以
Mac下的Jenkins安装的更多相关文章
- mac下sublime text3安装SFTP及使用
mac下sublime text3安装SFTP 1.shift+command+p进入控制面板 2.输入install进入程序安装界面选择需要安装的插件(SFTP) 3.直接进行安装(需要联网) 4. ...
- mac 下用 brew 安装mongodb
转自:mac 下用 brew 安装mongodb 经过这位仁兄的文章指导,终于连上了mongodb. 启动mongo数据库,就是打开一个终端sudo mongod,然后打开另一个终端sudo mong ...
- mac下java的安装和升级以及相关环境设置
安装:brew cask install java8 如果存在多个java,可以设置JAVA_HOME指定java版本 打开终端,执行/usr/libexec/java_home -V 查看MAC下J ...
- Mac下的mongodb安装
mac下的mongodb安装主要有两种方式,一是手工安装,需在官网下载源文件,二是通过homebrew,至于homebrew不做介绍.既然是Mac系统下,我认为直接通过homebrew安装最好,省事还 ...
- mac下Spark的安装与使用
每次接触一个新的知识之前我都抱有恐惧之心,因为总认为自己没有接触到的知识都很高大上,比如上篇介绍到的Hadoop的安装与使用与本篇要介绍的Spark,其实在自己真正琢磨以后才发现本以为高大上的知识其实 ...
- Mac下anaconda的安装和基本使用
Mac下anaconda的安装和基本使用 安装 在conda官网下载安装conda. 打开terminal输入conda -V,回车显示conda的版本说明安装成功. 将conda更新到最新版本 co ...
- docker下的Jenkins安装和体验【转】
原文地址:http://blog.csdn.net/boling_cavalry/article/details/78942408 作为一款优秀的持续集成工具,jenkins在日常的项目中经常会用到, ...
- Mac 下 PostgreSQL 的安装与使用
在 mac 下,可以利用 homebrew 直接安装 PostgreSQL: 1 brew install postgresql -v 稍等片刻,PostgreSQL 就安装完成.接下来就是初始数据库 ...
- [转] Mac 下 PostgreSQL 的安装与使用
在 mac 下,可以利用 homebrew 直接安装 PostgreSQL: 1 brew install postgresql -v 稍等片刻,PostgreSQL 就安装完成.接下来就是初始数据库 ...
随机推荐
- C# 文件拖放到此程序的操作
问题描述: 怎么写代码可以实现指定类型的文件通过鼠标拖放显示在程序的文本框中,如:选中3个文件(3个文件的格式有MP3和wma)拖到程序,程序的文本框显示这三个文件的路径...解决代码: thi ...
- vsftp 基于虚拟用户的ftp服务器 如何做配额
做配额的方法: 1,是用磁盘配额,但是虚拟用户好像没有好办法.只能应用于本地用户.与Vsftpd设置无关 2,文件夹限制大小,是占用的.这和Vsftpd没有关系 所以可以先把用户禁锢在自己工作目录里面 ...
- POJ1273 USACO 4.2.1 Drainage Ditches CodeVS1993草地排水 网络流 最大流 SAP
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 传送门 - POJ 传送门 - CodeVS 题意概括 给出一个图,告诉你边和容量,起点是1,汇点是n,让你求最大流. 题解 ...
- scrapy下载图片报[scrapy.downloadermiddlewares.robotstxt] DEBUG: Forbidden by robots.txt:错误
本文转自:http://blog.csdn.net/zzk1995/article/details/51628205 先说结论,关闭scrapy自带的ROBOTSTXT_OBEY功能,在setting ...
- 删除ELK中的数据。。
直接使用这个命令就行了: curl -XDELETE "http://127.0.0.1:9200/logstash-2017.08.19" 2017.08.19可以动态生成, ...
- POJ 2488 A Knight's Journey-dfs
题目链接:http://poj.org/problem?id=2488 题目解读:首先得弄清楚国际象棋中关于“马走日”的规则,如上图中的马,它的下一步的走法有8中,所以对每一个位置的马,它所能走的8个 ...
- NP:建立可视化输入的二次函数数据点集np.linspace+np.random.shuffle+np.random.normal
import numpy as np import matplotlib.pyplot as plt def fix_seed(seed=1): #重复观看一样东西 # reproducible np ...
- hibernate.properties not found
在配置hibernate的主键生成策略的时候突然报出如下错误,寻找了很长时间,虽然不是什么严重的错误,但是希望可以警醒自己 问题: 11:26:21,611 INFO Version:37 - HHH ...
- Springboot定时任务原理及如何动态创建定时任务
一.前言 上周工作遇到了一个需求,同步多个省份销号数据,解绑微信粉丝.分省定时将销号数据放到SFTP服务器上,我需要开发定时任务去解析文件.因为是多省份,服务器.文件名规则.数据规则都不一定,所以要做 ...
- AM335X启动(转)
AM335x启动 参考文件: 1.TI.Reference_Manual_1.pdf http://pan.baidu.com/s/1c1BJNtm 2.TI_AM335X.pdf http:// ...