安裝方式
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 執行就可以