溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么搭建jenkins主從集群

發(fā)布時間:2021-07-28 18:04:16 來源:億速云 閱讀:279 作者:chen 欄目:云計算

這篇文章主要講解了“怎么搭建jenkins主從集群”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么搭建jenkins主從集群”吧!

1. 檢查服務(wù)器包配置[可選]

一般不需要apt的額外配置, 如果有刪除配置或者移動到別處, 使其不生效:

sudo rm /etc/apt/apt.conf

sudo apt-get update

2. 安裝JDK

jenkins依賴java, 安裝java8+版本,并且配置java_home:

sudo apt search openjdk

sudo apt-get install openjdk-8-jdk

sudo vim /etc/bash.bashrc
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/

3. 安裝jenkins

在ubuntu環(huán)境下安裝:

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 update
sudo apt-get install jenkins

一些默認(rèn)文件位置:

路徑描述
/etc/default/jenkinsjenkins運行配置
jenkins默認(rèn)文件用戶
/var/log/jenkins/jenkins.log日志路徑
/var/lib/jenkins/jenkins home

4. 高級設(shè)置

  • Crowd 2 Integration

  • 配置slave

    • 新建node

    • 配置node啟動方式: 通過Java Web啟動代理, 注意只有在全局安全配置中設(shè)置了JNLP代理協(xié)議的TCP端口該選項才可選

    • 查看salve頁面下載agent.jar 和 slave-agent.jnlp 文件, 并且放到salve服務(wù)器的jenkins_home目錄下

    • 登錄salve服務(wù)器切換到j(luò)enkins用戶, 運行上一步salve頁面執(zhí)行命令, 如: 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的任務(wù)位置: http://jenkins-in.devops.com/project/halo-kong

    • Securet Token: 是上一步獲取的Jenkins生成的token, 穿件完可以點擊Test測試一下

    • Jenkins選擇一個pipeline任務(wù), Build Triggers->高級->Secret token, 生成一個token

    • Gitlab選擇一個項目, Setting->Integrations, 新建一個webhook, 其中

5. 遇到問題

  • 空白頁面

    解決方式: sudo /etc/init.d/jenkins restart

  • 配置agent的守護進程(否則java -jar agent.jar....命令中斷后集群就垮了)

    sudo easy_install supervisor
    echo_supervisord_conf > supervisord.conf
    sudo mv supervisord.conf /etc/supervisord.conf
    sudo vim /etc/supervisord.conf # 修改include為files = /etc/supervisor/*.conf
    sudo mkdir -p /etc/supervisor
    sudo 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 = true
    autorestart = true
    user = jenkins
    redirect_stderr = true
    stdout_logfile = /var/lib/jenkins/jenkins-slave-agent.log


    supervisorctl commond:

    sudo supervisorctl reread # 讀取新配置
    sudo supervisorctl update # 啟動更新
    sudo supervisorctl status # 查看狀態(tài)
    sudo supervisorctl stop jsa # 停止一個子進程
    sudo supervisorctl start jsa # 啟動一個子進程
    sudo supervisorctl restart jsa # 重啟一個子進程


  • 在agent node 運行docker-compose build報告無法連接到http+docker://localhost docker

    原因: 權(quán)限

    解決方法: sudo chown jenkins:docker /var/run/docker.sock

  • 在agent node 運行docker push報告 no basic auth credentials

    原因: load credential文件位置不對

    解決方案: 指定加載權(quán)限文件位置如: docker --config /var/lib/jenins/ push xxxxx

  • 配置動態(tài)切換到推送的分支

    原因: 默認(rèn)配置了固定的分支, 如果需要動態(tài)配置分支就不可以了

    解決方案: 使用gitlab插件內(nèi)置的一些變量, 比如使用gitlabSourceBranch變量結(jié)合checkout進行切換, 如

    checkout([$class: 'GitSCM', branches: [[name: '${gitlabSourceBranch}']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'gitlab-user', url: 'http://git.devops.com/devops/devops.git']]])

感謝各位的閱讀,以上就是“怎么搭建jenkins主從集群”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對怎么搭建jenkins主從集群這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI