一、安裝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
注:如果上邊的執行成功就不用再執行這兩行了
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
注:如果網絡不好需要重試幾次
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
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的默認設置
Jenkins會隨系統啓動而啓動。詳情參照/etc/init.d/jenkins
Jenkins會創建一個用戶叫做jenkins, 如果你修改了user,則要修修改所屬者:/var/log/jenkins,/var/lib/jenkins,/var/cache/jenkins
如果遇到問題,查看日誌/var/log/jenkins/jenkins.log
配置文件/etc/sysconfig/jenkins
默認啓用8080
5、打開和關閉防火牆
開啓非80端口需要打開防火牆,參考:http://www.cnblogs.com/rslai/p/7954080.html
6、關於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
但是發現啓動失敗,於是需要配置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 [ “KaTeX parse error: Expected 'EOF', got '}' at position 46: …se 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
內容改爲需要的端口
1
JENKINS_PORT=“8080”
9、yum安裝Jenkins默認路徑爲
/var/lib/jenkins
二、進入jenkins
1、打開
2、查看密碼,將內容填寫到密碼處點擊繼續
1
cat /var/lib/jenkins/secrets/initialAdminPassword
3、選擇默認插件即可
4、設置管理員
三、安裝和Git,GitLab插件
1、安裝git客戶端
Linux安裝配置git參見,只需要安裝客戶端不需要產生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設置token後Test Connection,如果測試成功
四、新建item
1、生成ssh key
由於jenkins執行腳本的使用使用的是jenkins這個賬號,所以公鑰私鑰需要放在此用戶的目錄裏。
a)由於此賬號是一個不允許登錄且修改了home目錄的賬號,所以需要先執行 vi /etc/passwd 查看一下jenkins賬號的home目錄,在裏邊找到jenkins這個賬號其中紅框部分爲他的home目錄
b)生成root(不是root其它賬號也可)賬號的sshkey
1
2
3
4
ssh-keygen -t rsa -C "[email protected]" -b 4096 # 生成公鑰私鑰,注意雙引號內是個助記符根據需要修改
cd /root/.ssh # 進入ssh目錄
git ls-remote -h ssh://[email protected]:1022/html/tamH5.git HEAD # 連一下git服務器,生成known_hosts文件
ll # 查看文件
如果沒有 known_hosts 文件之後Jenkins發佈時會有如下錯誤 “Host key verification failed.”
c)進入jenkins目錄將剛纔創建的sshkey複製過來並將所有者指到jenkins賬號
1
2
3
4
5
6
cd /var/lib/jenkins # 進入jenkins的home目錄
mkdir .ssh # 創建ssh目錄存放sshkey文件,如果存在會報錯
cd .ssh
cp /root/.ssh/* . # 將root賬號下的sshkey文件複製過來,此時如果執行ll看一下這兩個文件所有這應該是root
chgrp jenkins * # 將key文件的組改爲jenkins
chown jenkins * # 將key文件的所有者改爲jenkins
d)此時pwd再ll應該看到如下內容
2、打開 id_rsa.pub 將其中內容複製到記事本中,然後再copy到git服務器上
3、訪問gitlab將剛纔生成的公鑰添加到ssh keys中
4、創建證書
a)Jenkins -> Credentials
b)global -> Add credentials新建一個證書
c)填寫證書信息
kind:選擇 SSH Username with private key
Username:隨便輸入,之後在創建item是記得住選擇那個即可
Priveate key:選擇“Enter directly”後輸入私鑰,記住一定是私鑰 (按照上步驟在linux上生成密鑰後,會是一對其中帶pub後綴的是公鑰。id_rsa私鑰、id_rsa.pub公鑰)。在linux執行cat id_rsa將所有內容copy填入key中
Passphrase:不填,如果填了每次都需要輸入密碼
填好後點擊“ok”保存
2、新建item
a)新建Item
b)輸入任務名稱,選擇“構建一個自由風格軟件項目”後單擊“確定”
c)在GitLab connection處選擇剛纔創建的連接(輸入git host時創建的連接)
選擇git並Credentials處選擇剛纔輸入私鑰的證書
Repository URL輸入git項目地址(注意輸入時需添加ssh注意如果修改端口應填寫ssh://git@host:port/xxxxxx/xxxxx.git)
之後單擊“保存”即可。
3、構建job
a)進入demo job
b)點擊“立即構建”
由於item只配置了git所以只會clone git,clone後在如下目錄中,以job名稱爲目錄保存
/var/lib/jenkins/workspace
構建後目錄
1
./var/lib/jenkins/workspace/
根據job名字放到相應目錄
安裝插件