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 執行就可以

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章