一、安裝jenkins
1、添加yum repos,然后安裝
1 2 | sudo wget -O /etc/yum .repos.d /jenkins .repo https: //pkg .jenkins.io /redhat/jenkins .repo sudo rpm -- import https: //pkg .jenkins.io /redhat/jenkins .io.key |
注:如果上邊的執(zhí)行成功就不用再執(zhí)行這兩行了
1 2 | sudo wget -O /etc/yum .repos.d /jenkins .repo http: //pkg .jenkins-ci.org /RedHat/jenkins .repo sudo rpm -- import https: //jenkins-ci .org /redhat/jenkins-ci .org.key |
注:如果網(wǎng)絡(luò)不好需要重試幾次
1 | sudo yum install jenkins |
2、如果未安裝java還需安裝java
1 | sudo yum install java |
3、啟動和停止
1 2 3 | sudo service jenkins start sudo service jenkins stop sudo service jenkins restart<br><br> |
1 | sudo chkconfig jenkins on |
如果啟動失敗,可以運行如下命令查看錯誤信息
1 | systemctl status jenkins.service |
如上錯誤是java配置錯誤,需要修改jenkins配置文件
1 | vi /etc/rc .d /init .d /jenkins |
類似如下修改:
1 2 3 4 5 | candidates=" ************ ************ /usr/local/jdk1 .8 /bin/java " |
4、jenkins的默認設(shè)置
Jenkins會隨系統(tǒng)啟動而啟動。詳情參照/etc/init.d/jenkins
Jenkins會創(chuàng)建一個用戶叫做jenkins, 如果你修改了user,則要修修改所屬者:/var/log/jenkins,/var/lib/jenkins,/var/cache/jenkins
如果遇到問題,查看日志/var/log/jenkins/jenkins.log
配置文件/etc/sysconfig/jenkins
默認啟用8080
5、打開和關(guān)閉防火墻
開啟非80端口需要打開防火墻,參考:http://www.cnblogs.com/rslai/p/7954080.html
6、關(guān)于centos上的java
Jenkins不支持在centos的默認的jdk上工作。如果如下所示,則需要remove:
java -version
java version "1.5.0"
gij (GNU libgcj) version 4.4.6 20110731 (Red Hat 4.4.6-3)
為了正確使用Jenkins:
yum remove java
然后可以安裝openjdk
yum install java-1.7.0-openjdk
正確如下:
java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (rhel-2.5.5.1.el6_6-x86_64 u79-b14)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)
7、配置java路徑
直接啟動:
sudo service jenkins start
但是發(fā)現(xiàn)啟動失敗,于是需要配置java位置:
vi /etc/init.d/jenkins
在啟動加入本機的java:
[root@iZ94xvn71eeZ ~]# vim /etc/init.d/jenkins
# Set up environment accordingly to the configuration settings
[ -n "$JENKINS_HOME" ] || { echo "JENKINS_HOME not configured in $JENKINS_CONFIG";
if [ "$1" = "stop" ]; then exit 0;
else exit 6; fi; }
[ -d "$JENKINS_HOME" ] || { echo "JENKINS_HOME directory does not exist: $JENKINS_HOME";
if [ "$1" = "stop" ]; then exit 0;
else exit 1; fi; }
# Search usable Java as /usr/bin/java might not point to minimal version required by Jenkins.
# see http://www.nabble.com/guinea-pigs-wanted-----Hudson-RPM-for-RedHat-Linux-td25673707.html
candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/bin/java
/usr/java/jdk1.7.0_80/bin/java
"
8、配置端口
修改
1 | vi /etc/sysconfig/jenkins |
內(nèi)容改為需要的端口
1 | JENKINS_PORT= "8080" |
9、yum安裝Jenkins默認路徑為
/var/lib/jenkins
1、打開
1 | http: //192 .168.3.231:8080 |
2、查看密碼,將內(nèi)容填寫到密碼處點擊繼續(xù)
1 | cat /var/lib/jenkins/secrets/initialAdminPassword |
3、選擇默認插件即可
4、設(shè)置管理員
1、安裝git客戶端
Linux安裝配置git參見,只需要安裝客戶端不需要產(chǎn)生sshkey,如果你又想再jenkins上用git又想直接再linux上用再生成key
http://www.cnblogs.com/rslai/p/8175864.html
2、安裝git插件
3、在這里將安裝和Git,GitLab插件,注意使用ctrl+f查找
4、配置gitLab連接
5、找到Gitlab配置,如下圖
name:可以隨便寫一個
host URL:host地址注意只填寫host不要庫地址寫http地址即可
credentials:選擇一個證書
新建一個證書,選擇add->Jenkins添加一個證書
kind:選擇GitLab API token
API token:輸入token,如何找到token參見下面
查找token,token需要在gitLab中查找,不同版本的gitLab方式不同
a)在Access Tokens中就顯示了api token直接copy即可
b)在如下頁面填入名字和過期時間后自動生成token,生成后一定要使用記事本記下來,之后無法查看該token
回到Jenkins設(shè)置token后Test Connection,如果測試成功
1、生成ssh key
由于jenkins執(zhí)行腳本的使用使用的是jenkins這個賬號,所以公鑰私鑰需要放在此用戶的目錄里。
a)由于此賬號是一個不允許登錄且修改了home目錄的賬號,所以需要先執(zhí)行 vi /etc/passwd 查看一下jenkins賬號的home目錄,在里邊找到j(luò)enkins這個賬號其中紅框部分為他的home目錄
b)生成root(不是root其它賬號也可)賬號的sshkey
1 2 3 4 | ssh -keygen -t rsa -C "root@192.168.3.231" -b 4096 # 生成公鑰私鑰,注意雙引號內(nèi)是個助記符根據(jù)需要修改 cd /root/ . ssh # 進入ssh目錄 git ls -remote -h ssh : //git @118.188.3.87:1022 /html/tamH5 .git HEAD # 連一下git服務(wù)器,生成known_hosts文件 ll # 查看文件 |
如果沒有 known_hosts 文件之后Jenkins發(fā)布時會有如下錯誤 “Host key verification failed.”
c)進入jenkins目錄將剛才創(chuàng)建的sshkey復(fù)制過來并將所有者指到j(luò)enkins賬號
1 2 3 4 5 6 | cd /var/lib/jenkins # 進入jenkins的home目錄 mkdir . ssh # 創(chuàng)建ssh目錄存放sshkey文件,如果存在會報錯 cd . ssh cp /root/ . ssh /* . # 將root賬號下的sshkey文件復(fù)制過來,此時如果執(zhí)行l(wèi)l看一下這兩個文件所有這應(yīng)該是root chgrp jenkins * # 將key文件的組改為jenkins chown jenkins * # 將key文件的所有者改為jenkins |
d)此時pwd再ll應(yīng)該看到如下內(nèi)容
2、打開 id_rsa.pub 將其中內(nèi)容復(fù)制到記事本中,然后再copy到git服務(wù)器上
3、訪問gitlab將剛才生成的公鑰添加到ssh keys中
4、創(chuàng)建證書
a)Jenkins -> Credentials
b)global -> Add credentials新建一個證書
c)填寫證書信息
kind:選擇 SSH Username with private key
Username:隨便輸入,之后在創(chuàng)建item是記得住選擇那個即可
Priveate key:選擇“Enter directly”后輸入私鑰,記住一定是私鑰 (按照上步驟在linux上生成密鑰后,會是一對其中帶pub后綴的是公鑰。id_rsa私鑰、id_rsa.pub公鑰)。在linux執(zhí)行cat id_rsa將所有內(nèi)容copy填入key中
Passphrase:不填,如果填了每次都需要輸入密碼
填好后點擊“ok”保存
2、新建item
a)新建Item
b)輸入任務(wù)名稱,選擇“構(gòu)建一個自由風(fēng)格軟件項目”后單擊“確定”
c)在GitLab connection處選擇剛才創(chuàng)建的連接(輸入git host時創(chuàng)建的連接)
選擇git并Credentials處選擇剛才輸入私鑰的證書
Repository URL輸入git項目地址(注意輸入時需添加ssh注意如果修改端口應(yīng)填寫ssh://git@host:port/xxxxxx/xxxxx.git)
之后單擊“保存”即可。
3、構(gòu)建job
a)進入demo job
b)點擊“立即構(gòu)建”
由于item只配置了git所以只會clone git,clone后在如下目錄中,以job名稱為目錄保存
/var/lib/jenkins/workspace
構(gòu)建后目錄
1 | . /var/lib/jenkins/workspace/ |
根據(jù)job名字放到相應(yīng)目錄
安裝插件
參考文檔:
http://blog.csdn.net/achuo/article/details/51086599
http://blog.csdn.net/wangfei0904306/article/details/56011877
聯(lián)系客服