安裝 JDK 以前寫過一篇文章,本文就不具體講了:html
注意:Java版本不能是gcj
,會致使Jenkins有問題,centos7搭建jenkins小記文章中提到的java版本問題致使CentOS下的Jenkins有問題。java
yum install git
1.方法1:建立軟鏈接,準備較大空間node
/data
掛在了較大空間,而後在其中建立相關目錄:linux
mkdir -p /data/jenkins ln -s /data/jenkins/ /var/lib/jenkins chown -R root:root /data/jenkins
2.方法2:丟棄構建git
設置構建最大保留天數或者保留個數,實現自動刪除構建結果。github
參考:web
## http://pkg.jenkins-ci.org/redhat-stable/ wget http://pkg.jenkins-ci.org/redhat/jenkins-2.39-1.1.noarch.rpm ## 下載(也能夠Windows下載再轉過來) sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key ## 導入公鑰,發現離線安裝,不須要導入公鑰就能安裝 rpm -ih jenkins-2.7.2-1.1.noarch.rpm
自動安裝完成以後:shell
/usr/lib/jenkins/jenkins.war
WAR包/etc/sysconfig/jenkins
配置文件/var/lib/jenkins/
默認的JENKINS_HOME目錄/var/log/jenkins/jenkins.log
Jenkins日誌文件# 添加Jenkins源 sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key yum repolist # Update your package manager list to get the latest packages # 安裝 yum install java-1.8.0-openjdk jenkins service jenkins start # 啓動
/usr/local
目錄並解壓:cd /usr/local/ && tar zxvf apache-tomcat-9.0.12.tar.gz
jenkins.war
拷貝至/usr/local/apache-tomcat-9.0.12/webapps
,啓動tomcat:`cd /usr/local/apache-tomcat-9.0.12http://IP:8080/jenkins
管理員密碼訪問:apache
cat /root/.jenkins/secrets/initialAdminPassword
基於這種方式安裝的Jenkins位置處於/root/.jenkins
,所以,爲了不Job佔用空間過大,須要執行以下命令建立軟鏈接:ubuntu
ln -s /data/jenkins_jobs/ /root/.jenkins/jobs
爲了避免由於權限出現各類問題,這裏直接使用root
## sudo vim /etc/sysconfig/jenkins JENKINS_USER="root" ## 原值 "jenkins" 必須修改,不然權限不足 JENKINS_PORT="8080" ## 原值 "8080" 能夠不修改
修改目錄權限
chown -R root:root /var/lib/jenkins chown -R root:root /var/cache/jenkins chown -R root:root /var/log/jenkins
啓動Jenkins:
sudo systemctl enable jenkins # 開機自啓動Jenkins sudo systemctl start jenkins # 啓動Jenkins
查看服務細節:
systemctl status jenkins.service
驗證Jenkins Server訪問連接:
telnet IP 8080
若是訪問有問題,須要把防火牆關了:
systemctl stop firewalld systemctl disable firewalld.service #重啓不自動開啓
經過以下兩個命令查看防火牆是否關閉:
systemctl list-unit-files|grep firewalld.service iptables -t nat -S
https://pkg.jenkins.io/debian/jenkins.io.key
apt-key add jenkins.io.key
以上兩步,能夠合二爲一:
wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
apt-get update
apt-get install jenkins
/etc/init.d/jenkins start
。或者service start jenkins
。啓動Jenkins。http://{ip}:8080
訪問jenkins。cat /var/lib/jenkins/secrets/initialAdminPassword
獲得默認密碼填入下面的密碼框中
安裝好以後,能夠修改相關配置改變默認端口:
/etc/default/jenkins
增長同時打開文件句柄數,linux默認一個進程能同時打開的文件句柄是1024個,在jenkins master確定是不夠的,須要調整成65535
CentOS系統,修改/etc/security/limits.conf
,在文件最後增長一行:
root - nofile 65535
重啓後生效,能夠經過命令ulimit -a
查看
https://stackoverflow.com/questions/8342336/how-to-set-maximum-number-of-rolls-and-maximum-log-size-for-tomcat
admin帳號初始密碼:
cat /var/lib/jenkins/secrets/initialAdminPassword
http://localhost:8080/[exit/restart/reload]
參考:
Restrict where this project can be run
利用了標籤的功能
參考:
能夠經過系統管理(System management)--> 系統信息(System Info)查找.war
的文件
executable-war /usr/lib/jenkins/jenkins.war
先列出官網地址:https://jenkins.io/download/
升級以前,中止Jenkins服務(記得備份原來的jenkins.war,以防萬一)
http://jenkinsIP:port/exit
從官網下載最新的war包,而後替換掉上面路徑下的war。
替換完成後,重啓:
systecmctl start jenkins # centos service jenkins start # ubunutu
參考:
Slave機器上須要安裝好git、配置好Java環境(尤爲是一些相似JAVA_HOME的變量)。
SSH Slaves
插件,這樣在新增節點時,ssh配置將更加友好。Credentials
, 點擊 Jenkins
-> Global credentials
-> Add Credentials
,Username
和 Password
表示執行機的帳號和密碼。Launch slave agents via SSH
。Credentials
選擇剛剛新建的鑰匙,Host Key Verification Strategy
選擇 Manually trusted Key Verification Stragegy
。最後Launch agent
便可;
該方法比較麻煩,不詳細介紹了。
注意:須要下載兩個文件到agent機器上:
agent.jar
slave-agent.jnlp
參考:
對於輕微強迫症的我來講,看着升級提醒,還不能叉掉,實在忍不了,Google以後,有解決方法:
Manage Jenkins => Configure System => Administrative monitors configuration 系統管理-》系統設置-》管理監控配置 去掉「Jenkins更新通知」 UnCheck "Jenkins Update Notification" and apply
雖然登陸到master機器或者執行機上,java
都配置好了,可是仍然遇到了錯誤,後來看到一篇博客中提到的方法,在usr/bin
下建立了一個Java的軟鏈接,就解決了。
ln -s /usr/java/jdk1.8.0_171/bin/java /usr/bin
在JJB項目中,發生了上面的錯誤,定位問題了半天,發現多是Jenkins自己出問題了,而不是項目出問題。之前運行OK的Jenkins怎麼忽然發生這個問題了呢?多是以下緣由形成:
var/lib/jenkins/jobs
:目錄下Job佔據過多空間。在Jenkins中的節點管理裏查看master機器的
剩餘磁盤空間`也能夠觀察到。du -ah --max-depth=1
/etc/rc.local
是啥?
參考:
解決辦法主要分了兩步:
/root/buildbox/javaxxx/
下的目錄移到了/usr/java/
下,從新配置java環境;vim /etc/init.d/jenkins
中的candidates
字段補充上java路徑/usr/java/jdk1.8.0_151/bin/java
。參考:
緣由:tomcat的日誌(/home/apache-tomcat-8.0.30/logs)查看catalina.out日誌,得知是java虛擬機內存空間溢出。
解決:到後臺tomcat的bin目錄下,修改 tomcat的啓動腳本:startup.sh,在最上面添加 export JAVA_OPTS=「-XX:MaxPermSize=1024m -Xms1024m -Xmx3096m」
須要安裝「Workspace Cleanup Plugin插件」,在構建任務配置時,能夠在「增長構建後操做步驟」中選擇Delete workspace when build is done
添加節點時,Prefix Start Slave Command
選擇輸入 source /etc/profile &&
加一個前置動做。注意&&
以後要有空格!!!
掛載執行機時,報錯,經過編輯 /etc/sshd_config
文件,註釋 MACs 和 Kex 所在的行,解決了問題,記得註釋以後,systemctl restart sshd
。
#clear jenkins jobs logs @hourly find /var/lib/jenkins/jobs/ -mindepth 1 -maxdepth 1 -mtime +30 -type d -exec rm -rf {} \; -o -type f -exec rm -rf {} \;
參考: