1. 程式人生 > >安裝配置jenkisn是的gitlab上可以通過webhook自動觸發構建

安裝配置jenkisn是的gitlab上可以通過webhook自動觸發構建

Jenkins是開源的,使用Java編寫的持續整合的工具,在Centos上可以通過yum命令列直接安裝。記錄下安裝的過程,方便以後查詢。需要先安裝Java,如果已經Java可以跳過該步驟。


1.安裝Java
  看到當前系統Java版本的命令:
  java -version
  如果顯示Java版本號,說明已經正確安裝,如果顯示沒有該命令,需要安裝Java:
  sudo yum install java
  該命令如果檢測到Java不存在可以直接安裝Java,如果已存在則可以升級Java。


2.安裝Jenkins
  首先要先新增Jenkins源:
  sudo wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo
  sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key(如果想安裝穩定版本redhat替換成redhat-stable)
  新增完成之後直接使用yum命令安裝Jenkins:
  yum install jenkins
  或者使用下面的方式安裝jenkens
  wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
  sudo java -jar jenkens.war


3.啟動Jenkins
  使用命令啟動Jenkins:
  sudo service jenkins start顯示Starting Jenkins                      [ OK ]
  然後在瀏覽器中輸入:http://<伺服器ip>:8080/ 就可以進入Jenkins介面直接使用了 。
  停止Jenkins服務的命令為:
  sudo service jenkins stop


4.如果頁面打不開考慮以下兩個配置
  如果瀏覽器還是打不開,需要檢視阿里雲是否開放8080埠,可以去例項--安全組配置--配置規則裡面--新增安全組規則
  編輯埠範圍8080/8080,授權物件0.0.0.0/0
  另一個是防火牆問題
  sudo systemctl stop firewalld.service   #停止firewall       
  sudo systemctl disable firewalld.service #禁止firewall開機啟動


5.安裝jenkins後,在系統管理的外掛管理安裝依賴的外掛
   GitHub
   GitLab Plugin 和 Gitlab Hook Plugin和Build Authorization Token Root Plugin外掛和Gitlab Authentication plugin外掛


6.安裝jenkins後,是需要安裝git的,  centos/linux下的安裝git


  1.下載git
      wget https://github.com/git/git/archive/v2.14.1.zip
  2.安裝依賴
      sudo yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
  3.解壓git
      unzip v2.14.1.zip
  4.將git安裝到/usr/local上,先進入git資料夾
      cd git-2.14.1
      make prefix=/usr/local all
      make prefix=/usr/local install
  5.驗證是否安裝完成
      git --version    
7.配置公鑰金鑰
  1.切到jenkins使用者
    su - jenkins
  2.新建ssh-key
    ssh-keygen -t rsa
  3.檢視公鑰金鑰
    cat ~/.ssh/id_rsa.pub 
    複製公鑰放到gitlab的上新增一個ssh  
    cat ~/.ssh/id_rsa
    複製私鑰放到jenkins上新增一個Credentials  


  通過新建專案即可實現gitlab和jenkins的通訊


8.新升級的jenkins需要配置token才能使用web hook來觸發自動構建
  1.為了令牌的安全性,我們在使用openssl生成一個
    openssl rand -hex 10   比如生成0a37c6d7ba1fe3472e26
    在jenkins上某個專案裡面的構建觸發器標籤下,勾選觸發遠端構建(使用指令碼)
    身份驗證令牌裡面填寫上面生成的令牌
  2.然後再gitlab某個專案下的webhook 裡面填寫
    http://x.x.x.x:8080/buildByToken/build?job=專案名稱&token=0a37c6d7ba1fe3472e26




解決jenkins系統日誌過大問題
1、每次手動刪除 /var/log/jenkins/jenkins.log 該檔案,
2、而且刪除後需要重啟下jenkin,http://xxxxxxxxxx:8080/restart
備註 用命令重啟則用下面的語句
sudo /etc/init.d/jenkins restart