怎么搭建jenkins主从集群
这篇文章主要讲解了“怎么搭建jenkins主从集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么搭建jenkins主从集群”吧!
1. 检查服务器包配置[可选]
一般不需要apt的额外配置, 如果有删除配置或者移动到别处, 使其不生效:
sudo rm /etc/apt/apt.confsudo apt-get update
2. 安装JDK
jenkins依赖java, 安装java8+版本,并且配置java_home:
sudo apt search openjdksudo apt-get install openjdk-8-jdksudo vim /etc/bash.bashrcexport JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
3. 安装jenkins
在ubuntu环境下安装:
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'sudo apt-get updatesudo apt-get install jenkins
一些默认文件位置:
路径 | 描述 |
---|---|
/etc/default/jenkins | jenkins运行配置 |
jenkins | 默认文件用户 |
/var/log/jenkins/jenkins.log | 日志路径 |
/var/lib/jenkins/ | jenkins home |
4. 高级设置
Crowd 2 Integration
配置slave
新建node
配置node启动方式: 通过Java Web启动代理, 注意只有在全局安全配置中设置了JNLP代理协议的TCP端口该选项才可选
查看salve页面下载agent.jar 和 slave-agent.jnlp 文件, 并且放到salve服务器的jenkins_home目录下
登录salve服务器切换到jenkins用户, 运行上一步salve页面执行命令, 如: java -jar agent.jar -jnlpUrl http://slave.server.ip:8080/computer/slave-01/slave-agent.jnlp -secret 2a99268dbfc5d5f4c517d237d48078b1163f -workDir "/var/lib/jenkins/"
GitLab和Jenkins集成
URL: Jenkins的任务位置: http://jenkins-in.devops.com/project/halo-kong
Securet Token: 是上一步获取的Jenkins生成的token, 穿件完可以点击Test测试一下
Jenkins选择一个pipeline任务, Build Triggers->高级->Secret token, 生成一个token
Gitlab选择一个项目, Setting->Integrations, 新建一个webhook, 其中
5. 遇到问题
空白页面
解决方式: sudo /etc/init.d/jenkins restart
配置agent的守护进程(否则java -jar agent.jar....命令中断后集群就垮了)
sudo easy_install supervisorecho_supervisord_conf > supervisord.confsudo mv supervisord.conf /etc/supervisord.confsudo vim /etc/supervisord.conf # 修改include为files = /etc/supervisor/*.confsudo mkdir -p /etc/supervisorsudo vim /etc/supervisor/jenkins-slave-agent.conf
jenkins-slave-agent.conf:
[program:jsa]directory = /var/lib/jenkins/command = java -jar agent.jar -jnlpUrl http://slave.server.ip:8080/computer/slave-01/slave-agent.jnlp -secret 2a99268dbfc5d5f4c517d237d48078b1163f -workDir "/var/lib/jenkins/"autostart = trueautorestart = trueuser = jenkinsredirect_stderr = truestdout_logfile = /var/lib/jenkins/jenkins-slave-agent.log
supervisorctl commond:
sudo supervisorctl reread # 读取新配置sudo supervisorctl update # 启动更新sudo supervisorctl status # 查看状态sudo supervisorctl stop jsa # 停止一个子进程sudo supervisorctl start jsa # 启动一个子进程sudo supervisorctl restart jsa # 重启一个子进程
在agent node 运行docker-compose build报告无法连接到http+docker://localhost docker
原因: 权限
解决方法: sudo chown jenkins:docker /var/run/docker.sock
在agent node 运行docker push报告 no basic auth credentials
原因: load credential文件位置不对
解决方案: 指定加载权限文件位置如: docker --config /var/lib/jenins/ push xxxxx
配置动态切换到推送的分支
原因: 默认配置了固定的分支, 如果需要动态配置分支就不可以了
解决方案: 使用gitlab插件内置的一些变量, 比如使用gitlabSourceBranch变量结合checkout进行切换, 如
checkout([$class: 'GitSCM', branches: [[name: '${gitlabSourceBranch}']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'gitlab-user', url: 'http://git.devops.com/devops/devops.git']]])
感谢各位的阅读,以上就是“怎么搭建jenkins主从集群”的内容了,经过本文的学习后,相信大家对怎么搭建jenkins主从集群这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341