jenkins筆記

      網友投稿 838 2025-03-31

      一、相關概念

      1.1 Jenkins概念:

      Jenkins是一個功能強大的應用程序,允許持續集成和持續交付項目,無論用的是什么平臺。這是一個免費的源代碼,可以處理任何類型的構建或持續集成。集成Jenkins可以用于一些測試和部署技術。Jenkins是一種軟件允許持續集成。

      1.2 Jenkins目的:

      1、持續、自動地構建/測試軟件項目。

      2、監控軟件開放流程,快速問題定位及處理,提示開放效率。

      1.3 特性:

      開源的java語言開發持續集成工具,支持CI,CD。

      易于安裝部署配置:可通過yum安裝,或下載war包以及通過docker容器等快速實現安裝部署,可方便web界面配置管理。

      消息通知及測試報告:集成RSS/E-mail通過RSS發布構建結果或當構建完成時通過e-mail通知,生成JUnit/TestNG測試報告。

      分布式構建:支持Jenkins能夠讓多臺計算機一起構建/測試。

      文件識別:Jenkins能夠跟蹤哪次構建生成哪些jar,哪次構建使用哪個版本的jar等。

      豐富的插件支持:支持擴展插件,你可以開發適合自己團隊使用的工具,如git,svn,maven,docker等。

      1.4 產品發布流程:

      產品設計成型 -> 開發人員開發代碼 -> 測試人員測試功能 -> 運維人員發布上線

      持續集成 (Continuous integration,簡稱CI)

      持續交付(Continuous delivery)

      持續部署(continuous deployment)

      二、安裝部署

      2.1 yum安裝

      最低配置: 不少于256M內存,不低于1G磁盤,jdk版本>=8

      安裝jdk1.8

      yum install -y java-1.8.0-openjdk && \ wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo && \ rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key &&\ yum clean all && yum makecache && \ yum install -y jenkins && \ systemctl start jenkins

      less /var/log/jenkins/jenkins.log //查詢admin密碼

      訪問 http://ip:8080/ 進行安裝

      jenkins相關目錄:

      rpm -ql jenkins #查看jenkins安裝相關目錄

      安裝目錄/var/lib/jenkins

      配置文件 /etc/sysconfig/jenkins

      日志目錄 /var/log/jenkins

      2.2 下載war包安裝

      yum install -y java-1.8.0-openjdk && mkdir -p /usr/local/jenkins/ && \ wget -c -O /usr/local/jenkins/jenkins.war http://mirrors.jenkins.io/war-stable/latest/jenkins.war &&\ nohup java -jar /usr/local/jenkins/jenkins.war &

      密碼查看:/root/.jenkins/secrets/initialAdminPassword

      訪問 http://ip:8080/ 進行安裝

      如何想通過其他端口啟動可以指定httpPort選項即可。

      nohup java -jar jenkins.war --httpPort=8899 &

      2.3 docker形式安裝

      yum install docker -y && systemctl start docker && \ curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s && systemctl restart docker docker search jenkins docker pull docker.io/jenkins docker run -d -p 8080:8080 docker.io/jenkins

      docker exec -it 52873fa3dce4 /bin/bash

      cat /var/jenkins_home/secrets #查看密碼

      訪問 http://ip:8080/ 進行安裝

      2.4 相關工具安裝

      工具安裝可在jenkins的web界面系統管理—管理插件—可選插件勾選需要的,也可以手動安裝。

      a.git安裝

      yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc-c++ perl-ExtUtils-MakeMaker wget autoconf -y wget https://www.kernel.org/pub/software/scm/git/git-2.7.3.tar.gz tar xf git-2.7.3.tar.gz cd git-2.7.3 make configure ./configure --prefix=/usr/local/git make profix=/usr/local/git make install echo "export PATH=$PATH:/usr/local/git/bin" > /etc/profile.d/git.sh source /etc/profile.d/git.sh

      b.maven安裝

      cd /usr/local/ && wget -c wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz &&\ tar -zxf apache-maven-3.5.2-bin.tar.gz && \ echo "export PATH=$PATH:/usr/local/apache-maven-3.5.2/bin" > /etc/profile.d/maven.sh && \ source /etc/profile.d/maven.sh

      mvn --version 查看版本

      c.svn安裝

      yum install subversion -y mkdir /svnrepo svnadmin create /svnrepo/project1 #創建一個新的Subversion項目

      啟動項目1:svnserve -d -r /svnrepo/project1/

      啟動整個項目:svnserve -d -r /svnrepo/

      d.jdk安裝

      某些情況下會遇到openjdk無法編譯java程序,或在編譯中存在異常,需要我們手動安裝jdk,首先去Oracle官網下載對應版本的jdk

      tar -zxvf jdk-8u121-linux-x64.gz -C /usr/local && \ ln -sv /usr/local/jdk1.8.0_121 /usr/local/jdk1.8 && \ echo "export PATH=$PATH:/usr/local/jdk1.8/bin" >/etc/profile.d/java.sh source /etc/profile.d/java.sh

      三、WEB界面配置

      3.1 密碼破解

      cd /var/lib/jenkins/users/admin #此為admin用戶的目錄,也可以對應自己創建的用戶 vim config.xml //定位到那一行 刪除改行,改為 #jbcrypt:a$pDQks0ytOkCfmpdgpLygrOC3uY7i/XnZHBKRQDhrBPwKoN2f5Kz8C

      重啟一下jenkins

      新密碼為admin

      3.2 maven配置

      針對之前手動安裝的maven需要在web界面配置進行結合。

      系統管理—全局工具配置(Maven Configuration)配置:

      此處為手動安裝的maven,需要取消自動安裝maven,name可以自定義,MAVEN_HOME指定下載安裝的maven具體文件目錄

      3.3 GIT配置

      jenkins筆記

      手動安裝的git,web界面只需添加具體可執行路徑即可

      3.4 jdk配置

      對應手動安裝的jdk,需要web配置java_home路徑

      3.5 郵件配置

      jenkins有內置的郵件功能但由于其對于成功的發布不會發送郵件可定制化程度低,在此直接配置插件郵件(Editable Email Notification),2.32以上版本的jenkins,常用的插件都已經在最初部署的時候安裝了(如果你當初選擇的是suggest的plugins)。

      可以使用qq郵件服務器或163等其他郵件服務器,在此配置使用163郵箱,首先需要開啟163郵箱的smtp服務。

      需要記錄此處開啟smtp時的密碼。

      在jenkins 系統管理—系統設置—Extended E-mail Notification

      在默認的觸發器 Default Triggers 標簽下,可以勾選郵件通知觸發的情況,如任何情況下均需要選擇always,也可以在僅失敗情況下發送,也可以對應的郵件接受人不通,進行郵件分類。

      以下的內容,如郵件主題,內容均可自定義,可以參考url:

      至此全局插件郵件已經配置完畢,需要在具體的項目中使用此郵件進行發送通知。

      四、實戰php程序自動發布

      4.1 插件安裝

      系統管理—管理插件—已安裝

      檢查是否有“Git plugin”和“Publish Over SSH”兩個插件,如果沒有,則需點擊“可選插件”,找到它并安裝

      安裝好兩個插件后,點擊“系統管理”-- “系統設置”

      4.2 SSH配置

      系統管理—系統設置—Publish over SSH

      在key內填寫jenkins服務器的私鑰,如果沒有需要先在jenkins服務器生成私鑰與公鑰。ssh-keygen -t rsa回車后會在登錄用戶的家目錄下生成一個.ssh 的目錄,此目錄下存在id_rsa私鑰與id_rsa.pub公鑰。且講公鑰發布至代碼發布的目標服務器上ssh-copy-id -i /root/.ssh/id_rsa.pub root@IP。

      SSH Server配置

      name:需要將php程序發布到目標服務器的名稱,可自定義

      Hostname:填寫目錄服務器的IP地址

      Username:使用那個用戶進行發布,此處為進行密鑰互信的用戶

      Remote Directory:此出為發布到目標服務器的相對根路徑,建議填寫/,防止后續填寫路徑異常。

      注:如果為多臺目標服務器,可以繼續添加,如果目標服務器存在代理,也可設置proxy

      4.3 構建項目

      新建Item—填入項目名稱—選擇構建一個自由風格的軟件項目—確定

      源碼管理選擇git

      Repository URL 填寫具體git上的倉庫url,如果為私有,需要繼續添加Credentials,如果為公有直接填寫url即可,Credentials為none,

      構建后夠操作

      選擇(Send files or execute commands over SSH)

      SSH Server選擇目標服務器如:php-server

      Source files: **/** #將git拉去下來的原始文件

      Remote directory:/var/www/html #發布到目標服務器的制定目錄

      Exec command:chown apache:apache -R /var/www/html/* #制定后續的操作

      此時可以選擇Editable Email Notification來構建郵件通知。

      在此處,之前的郵件主題,內容均可以自定義,在高級里面,選擇郵件接受人。

      點擊保存,并立即構建,可以點擊console output查看日志

      此時打開php程序發現程序文件已經成功發布到目標服務器上

      此時可以查看郵件也已經發送成功。

      Jenkins

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:鯤鵬云辦公UOS桌面中磁盤擴容小Tips
      下一篇:mmult函數的使用方法(mmult函數多條件求和)
      相關文章
      国产亚洲福利在线视频| 亚洲乱码一区av春药高潮| 亚洲色大成WWW亚洲女子| 亚洲一级毛片免费观看| 91亚洲导航深夜福利| 久久精品国产亚洲av麻| 亚洲成A人片777777| 国产亚洲精品xxx| 国产亚洲av片在线观看播放 | 亚洲熟妇丰满多毛XXXX| 在线观看国产区亚洲一区成人| 亚洲AV无码乱码在线观看| 亚洲国产精品不卡毛片a在线| 春暖花开亚洲性无区一区二区| 亚洲精品无码成人| 亚洲色大成网站www久久九| 亚洲第一成年免费网站| 亚洲国产无线乱码在线观看 | 亚洲AV永久无码精品一百度影院| 亚洲精品国产精品乱码不卡√ | 国产成人精品日本亚洲直接| 亚洲天堂男人影院| 亚洲国产成人综合精品| 性色av极品无码专区亚洲| 国产精品亚洲色图| 亚洲成AV人在线观看网址| 中文字幕亚洲专区| 国产亚洲精久久久久久无码| 亚洲五月激情综合图片区| 亚洲精品中文字幕乱码影院 | 久久精品国产亚洲Aⅴ香蕉 | 亚洲AV无码无限在线观看不卡| 国产 亚洲 中文在线 字幕| 亚洲欧洲精品成人久久曰| 亚洲成av人在线观看网站| 无码欧精品亚洲日韩一区夜夜嗨| 亚洲欧洲日产国码高潮αv| 亚洲熟女少妇一区二区| 亚洲精选在线观看| 亚洲手机中文字幕| 亚洲一久久久久久久久|