zoukankan      html  css  js  c++  java
  • 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 执行就可以

  • 相关阅读:
    Ubuntu 15.04 开机无法进入图形界面,自动进入emergency mode解决方法
    Docker常用命令
    安装mongodb时报错 configure: error: Cannot find OpenSSL's libraries
    Invalid command 'Header', perhaps misspelled or defined by a module not included in the server configuration
    mysql varchar类型转换int类型
    elasticsearch 安装 head插件
    解决linux下root运行Elasticsearch异常
    PHP 数组中出现中文乱码,json_encode返回结果为null 或false
    Git命令_git remote与远程仓库管理
    Git命令_git clone和git fork的区别以及pull request含义
  • 原文地址:https://www.cnblogs.com/meteoric_cry/p/8819586.html
Copyright © 2011-2022 走看看