blogSite

我是谁?我在哪儿?我在干什么?

View project on GitHub

NAS Jenkins

NAS安装Jenkins方法

  • docker --> 注册表,搜索jenkins,下载这个,jenkins/jenkins,这个是最新的。推荐的jenkins为旧版本的,旧版本的安装了会有问题;
  • docker --> 映像中进行安装;
  • docker --> 容器中进行编辑,内部8080端口对应的本地端口为Jenkins访问的端口;

  • 在阿里云的nginx中进行代理配置后就可以在外网进行访问了
      http {
          # nas ip
          map string $nasip {
                  default  "101.40.21.39";
          }
    
          # nas jenkins
          server {
                  listen 7070;
                  server_name 阿里云外网ip;
                  server_tokens off;
    
                  location / {
                          proxy_pass http://$nasip:7070;
                  }
          }
      }
    
  • 然后就可以用阿里云的ip对内网nas中的Jenkins进行访问了

遇到的问题

  • Jenkins忘记管理员密码处理办法
    1. 删除Jenkins目录里/var/jenkins_home/config.xml文件中下面有关权限校验的代码
      <useSecurity>true</useSecurity>
      <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
          <denyAnonymousReadAccess>true</denyAnonymousReadAccess>
      </authorizationStrategy>
      <securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
          <disableSignup>true</disableSignup>
          <enableCaptcha>false</enableCaptcha>
      </securityRealm>
    
    1. 重启Jenkins服务systemctl restart jenkins.service,nas下如果不能用命令就直接点击重启容器;
    2. 进入首页 > 系统管理 > Configure Global Security(全局安全配置),勾选Jenkins专有用户数据库,点击保存;
    3. 重新点击首页 > 系统管理,此时就会出现管理用户
    4. 可以修改现有用户的用户名、密码,也可以删除、新增用户;
    5. 进入首页 > 系统管理 > Configure Global Security,勾选授权策略 > 登录用户可以做任何事,即限制所有用户必须登录;
  • The username you provied is not allowed to use the text-based Tomcat Manager (error 403)
    1. 由于tomcat用户权限导致的问题,修改/usr/local/tomcat/apache-tomcat-8.5.41/conf/tomcat-users.xml文件,设置用户权限
      <tomcat-users xmlns="http://tomcat.apache.org/xml"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
                version="1.0">
          <role rolename="manager-gui"/>
          <role rolename="manager-script"/>
          <role rolename="manager-jmx"/>
          <role rolename="manager-status"/>
          <user username="tomcat@deployer" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
      </tomcat-users>
    
    1. 修改webapps/manager/META-INF/context.xml文件,设置白名单访问ip
      <Valve className="org.apache.catalina.valves.RemoteAddrValve"         
      allow="^.*$" />
    

参考文档

首页 > 学习总览 > 实用工具学习/提高效率 > Jenkins