jenkins部署总结

 
  1. jenkins可以用多种方式部署,既可以安装在服务器上,也可以运行于WEB容器内。本次是将jenkins置于tomcat中运行。
  2. 检查JDK,下载war包,放置于tomcat安装目录webapp下,然后设置主目录,启动tomcat(service或者bin/catalina.sh start),日志会输出状态以及初始密码,然后在浏览器打开host:port/jenkins,端口默认是80+tomcat编号,日志中也会输出。  若使用publish脚本发布的tomcat启动报JDK错,修改TomcatA$ 脚本内JDK路径即可。            
  3. 输入初始密码,创建并以admin登录,安装插件Subversion Plug-in,SSH Credentials Plugin,Ant Plugin,Publish Over SSH,SSH  Slaves plugin,Email Extension Plugin等,后面可按需添加。
 
       (设置主目录目录有三种方式:使用你Web容器的管理工具设置JENKINS_HOME环境参数(打开tomcat的bin目录,编辑catalina.sh文件。
在# OS specific support.  $var _must_ be set to either true or false.前添加:export JENKINS_HOME=)测试失败。;在启动Web容器之前设置JENKINS_HOME环境变量(本次成功使用的是此方法,在/etc/profile里面加上 export JENKINS_HOME=/usr/local/jenkins );第三种修改jenkins内web.xml,不推荐。)

  • 关于从机环境变量。
    jenkins 使用slave节点时,读取环境变量的位置是从机的~/.bashrc,我本次是将从机echo $PATH  后输出的环境变量都加入了~/.bashrc ,并export。
 
 
  • 关于凭证( Credentials)
    填上主控机的私钥,username为,你设置好了免密的能登录那个从机的用户名(该用户目录下.ssh/authorized_key中包含主控机公钥),根据实际填写,其中Passphrase为私钥密码,在创建密钥对时如果设置了密码,此处就要填写。

 
  • 关于从节点(slave)配置
    其中“标签”在新建job时需要使用到,“高级”展开可以设置端口。
 

  • known_hosts问题
 主控机与从机连接成功一次会生成一个有关从机信息的known_hosts文件,使用任何用户去登录都可以,生成位置在~/.ssh下,这个东西主要是为了验证主机身份。
把known_hosts复制到/home/tomcat/.ssh目录下即可。亦可在配置从机时选择“Non”(不验证)、“Manually”手动,如果选择manually trusted,连接从机时页面左边会有选项,确认即可。Manually provided即是手动填写known_hosts内容,但本次测试jenkins报错。
 

 
  • 其他问题
    偶尔配置是对的,但日志报错。此时断开节点重新连接即可。
正常连接日志如下。
 
SSHLauncher{host='192.168.5.246', port=22, credentialsId='3c10b656-cbea-482b-8e93-a44346e174fd', jvmOptions='', javaPath='', prefixStartSlaveCmd='', suffixStartSlaveCmd='', launchTimeoutSeconds=210, maxNumRetries=10, retryWaitTime=15, sshHostKeyVerificationStrategy=hudson.plugins.sshslaves.verifiers.KnownHostsFileKeyVerificationStrategy, tcpNoDelay=true, trackCredentials=true}
[08/30/18 17:27:19] [SSH] Opening SSH connection to 192.168.5.246:22.
[08/30/18 17:27:19] [SSH] SSH host key matches key in Known Hosts file. Connection will be allowed.
[08/30/18 17:27:20] [SSH] 认证成功。
[08/30/18 17:27:20] [SSH] The remote user's environment is:
BASH=/bin/bash
BASHOPTS=cmdhist:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
...........
............
..............
[08/30/18 17:27:20] [SSH] Starting sftp client.
[08/30/18 17:27:20] [SSH] 正在拷贝最新版本的 remoting.jar...
[08/30/18 17:27:20] [SSH] Copied 775,665 bytes.
Expanded the channel window size to 4MB
[08/30/18 17:27:20] [SSH] Starting agent process: cd "/usr/local/jenkins_root" && java -jar remoting.jar -workDir /usr/local/jenkins_root
八月 30, 2018 5:27:20 下午 org.jenkinsci.remoting.engine.WorkDirManager initializeWorkDir
信息: Using /usr/local/jenkins_root/remoting as a remoting work directory
Both error and output logs will be printed to /usr/local/jenkins_root/remoting
<===[JENKINS REMOTING CAPACITY]===>channel started
Remoting version: 3.21.1
这是一个Unix代理
Evacuated stdout
Agent successfully connected and online
 
 
posted @ 2020-04-09 20:53  小熊纳尼  阅读(301)  评论(0)    收藏  举报