JENKINS

什麼是持續集成php

  • Continuous integration (CI) 持續集成是一種軟件開發實踐,即團隊開發成員常常集成他們的工做,一般每一個成員天天至少集成一次,也就意味着天天可能會發生屢次集成。每次集成都經過自動化的構建(包括編譯,發佈,自動化測試)來驗證,從而儘快地發現集成錯誤。許多團隊發現這個過程能夠大大減小集成的問題,讓團隊可以更快的開發內聚的軟件。

持續集成最佳實踐html

  • 維護一個單一的代碼庫
  • 使構建自動化
  • 執行測試是構建的一部分
  • 集成日誌及歷史記錄
  • 使用統一的依賴包管理庫
  • 天天至少集成一次

什麼是jenkinsjava

  • 持續集成、自動測試、持續部署的超級引擎,支持自定義工具集、多種交付通道

jenkins安裝git

  • 安裝依賴 yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
  • 安裝yum源 wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jenkins.repo
  • rpm --import http://pkg.jenkins.io/redhat/jenkins.io.key 
  • rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
  • 安裝Jenkins
  • yum –y install jenkins
  • service jenkins start
  • ckconfig Jenkins on

訪問jenkinsweb

  • 訪問Jenkins
  • http://192.168.1.110:8080
  • 查找admin默認密碼
  • cat /var/lib/jenkins/secrets/initialAdminPassword
  • 輸入密碼

安裝默認插件json

經常使用插件安全

  • OWASP Markup Formatter Plugin 安全
  • Pipeline 工做流
  • SonarQube 代碼質檢
  • SSH plugin
  • GitLab Plugin
  • Git plugin
  • Git Parameter Plug-In 照標籤去發佈
  • Deploy Plugin
  • Maven Integration plugin
  • Role-based Authorization Strategy

插件管理ssh

  • 系統設置>插件管理
  • 更新插件、下載安裝、代理設置、可用插件
  • 手工安裝
  • 下載地址
  • http://updates.jenkins-ci.org/

覆蓋插件目錄工具

  • mv plugins /var/lib/jenkins/
  • chown -R jenkins.jenkins plugins/

鏡像管理gitlab

  • 所有鏡像
  • http://mirrors.jenkins-ci.org/status.html
  • 更換鏡像
  • http://updates.jenkins-ci.org/update-center.json
  • https://mirrors.tuna.tsinghua.edu.cn/
  • http://mirror.esuni.jp/jenkins/updates/update-center.json
  • https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

jenkins目錄

  • /var/lib/jenkins 主目錄
  • /etc/init.d/jenkins 啓動文件
  • /var/cache/Jenkins 程序文件
  • /var/log/Jenkins 日誌文件

用戶權限

  • 修改/etc/init.d/Jenkins
  • 將用戶修改成root,能夠調用root工具
  • 106行,113行
  • 修改啓動端口85行,$JENKINS_PORT
  • systemctl daemon-reload
  • service jenkins restart

卡啓動問題

  • 修改/etc/init.d/Jenkins
  • 將用戶修改成root,能夠調用root工具
  • 106行,113行
  • 修改啓動端口85行,$JENKINS_PORT
  • systemctl daemon-reload
  • service jenkins restart

備份

  • tar zcf jenknis.tar.gz /var/lib/jenkins/

用到的插件有

GitLab Plugin(gitlab插件)

jenkins主機的私鑰

gitlab的delopy是jenkins主機的公鑰

構建的話,就會自動去gitlab上拉取項目到/var/lib/jenkins/workspace裏面

SonarQube Scanner for Jenkins(功能與Scanner效果同樣)

全局工具配置

系統配置

項目配置

Parameterized Trigger plugin(觸發器插件)

用於一個項目構建完成後觸發另外一個項目

 

Build Pipeline Plugin(流水線插件)

Gitlab Hook Plugin(gitlab勾子插件)

Build Authorization Token Root Plugin(受權令牌插件)

gitlab令牌認證就是webhook,咱們是點了若是有push就會執行

buildByToken/build?job=RevolutionTest&token=TacoTuesday
http://192.168.1.105:8080/project/demo-sonr-scan
http://192.168.1.105:8080/buildByToken/build?job=demo-sonr-scan&token=123456

Git Parameter(git參數構建插件)根據標籤去發佈

gitlab上須要打tag標籤

SSH(ssh插件)

jenkins集羣

節點管理,新建節點

會自動在設置的目錄下載jenkins的slave的jar包

分配到節點

按角色受權

Role-based Authorization Strategy(插件)

全局安全配置

管理用戶

添加2個用戶,java,php

系統配置裏面 Manage and Assign Roles 管理分配角色

分配角色 

注意,在local role裏面,JAVA-TEAM是沒有的,因此用用戶去寫,好比JAVA,PHP用戶便可。

用戶java上來只能看到java開頭的項目,用戶php上來只能看到php開頭的項目 

相關文章
相關標籤/搜索