Mac下的Jenkins安裝

安裝方式

1)經過命令行安裝   brew install jenkins,可能會遇到先更新 brew 的狀況  https://brew.sh/index_zh-cnshell

2)經過 pkg 安裝,官方網址:https://jenkins.io/瀏覽器

安裝完成後,會自動打開瀏覽器 http://localhost:8080  ,而後按照提示根據本身的需求 Next 下去(最新版本的界面是中文,不用擔憂看不懂)安全

 

 

卸載

1)命令行安裝的,請使用命令行卸載  brew uninstall jenkins命令行

2)經過 pkg 安裝blog

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
ip

launchctl 能夠理解爲執行定時 任務,開機時啓動 jenkins。能夠經過 ci

sudo launchctl list | grep jenkins 來查看是否有 jenkins 服務被設置爲開機啓動,實際 load、unload的是一個 plist文件get

 

 

權限問題

這個就把我搞的要死要活了,網上的方法我嘗試了好多遍,就連 Jenkins 我都從新、卸載不下5遍。我決定總結一下,以防止有人再掉到坑裏面了。jenkins

安裝完 Jenkins 後,它默認新建了一個用戶 jenkins,屬性 daemon 組,這個能夠經過 sudo open /Library/LaunchDaemons/org.jenkins-ci.plist 進行查看。it

 

 

組名 和 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 執行就能夠

相關文章
相關標籤/搜索