<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Jenkins 簡述及其搭建

      什么是持續集成?

      • 持續集成(CI)是在軟件開發過程中自動化和集成許多團隊成員的代碼更改和更新的過程。在 CI 中,自動化工具在集成之前確認軟件代碼是有效且無錯誤的,這有助于檢測錯誤并加快新版本的發布。

      什么是持續交付?

      • 持續交付 (CD) 是指每天多次將新軟件投入生產,自動將應用程序交付到基礎設施環境的能力。CD 是 DevOps 的一部分,有助于縮短軟件開發生命周期。

      CI/CD 管道的各個階段

      持續集成

      • 在第一階段,開發人員將他們的代碼更改與其項目的主代碼存儲庫合并。當開發人員推出代碼時,他們會自動觸發軟件構建。

      持續交付

      • 這是將構建交付到運行時環境以進行集成、質量保證或預生產的過程。在此階段,將對應用程序運行功能和性能測試。

      • 由于許多團隊除了生產之外還使用多種軟件開發環境,包括開發和測試,因此 CD 可以幫助團隊有效地使用自動化來快速將代碼更改推送到每個環境。

      持續部署

      • 在這個階段,代碼被部署到生產環境,包括公有云和混合云。部署會自動啟動軟件并將其分發給最終用戶。自動化工具將經過測試和集成的軟件移動到可以部署給最終用戶的地方,例如應用程序商店。

      CI/CD 的好處

      更頻繁的代碼部署

      • 構建 CI/CD 管道的組織可以更快地推出代碼。通過標準化構建、開發測試和自動化部署,團隊可以將更多時間用于改進應用程序,而將更少的時間用于將代碼交付到不同環境的技術流程。

      與多種環境無縫協作

      • 軟件開發團隊通常訪問多個開發和測試環境來測試和審查應用程序代碼。借助 CI/CD,團隊仍然可以將代碼引入各種環境,而不必擔心項目無法按計劃進行。

      推動回歸測試

      • 通過自動化測試,可以識別構建何時通過或失敗,工程師還可以通過回歸測試移動代碼?;貧w測試有助于確保代碼在與其他主干合并時不會破壞軟件構建,并確認代碼按預期工作。

      • 要求開發人員在所有環境中運行回歸測試是一個好主意,這樣開發人員只有在所有測試通過后才將測試發送到版本控制。

      改善項目協作和質量

      • 由于采用 CI/CD 的開發人員更頻繁地提交代碼,因此團隊可以使用較小的代碼包快速識別質量問題,而不是沿著項目時間線稍后創建較大的代碼包。此外,當開發人員的提交周期較短時,他們可能不會編輯相同的代碼并需要合并。

      • 使用 CI/CD 的團隊也傾向于預先加載質量檢查,例如從版本控制配置和實踐定義開始。除了經常檢查代碼之外,開發人員還將在不同的時間線上管理功能和修復,然后可以控制哪些代碼和功能已準備好投入生產。

      降低開發成本

      • 借助一套通用、一致的開發和測試工具,軟件開發團隊可以避免與管理和許可不同應用程序相關的額外成本。當 CI/CD 支持自動化時,團隊可以在開發和發布應用程序方面獲得規模經濟。

      生成反饋
      當團隊獲得有關方法的反饋時,功能會更快地推進。反饋使團隊能夠衡量結果,以便他們有確鑿的證據作為新項目的基礎。當團隊快速獲得關于哪些工作流程和方法可以成功構建的答案時,這些知識就會融入到未來的每個構建中。

      什么是 Jenkins?

      • Jenkins 是一個開源持續集成 (CI) 服務器。它管理和控制軟件交付過程的多個階段,包括構建、文檔、自動化測試、打包和靜態代碼分析。Jenkins 是一種非常流行的 DevOps 工具,被數千個開發團隊使用。

      • Jenkins 自動化通常由 GitHub、Bitbucket 和 GitLab 等存儲庫中的代碼更改觸發,并與 Maven 和 Gradle 等構建工具集成。

      • Jenkins 支持使用 Docker 和 Kubernetes 等容器技術來測試和打包軟件版本,但它既不是 Kubernetes 原生解決方案,也不是容器原生 CI 解決方案。

      Jenkins 中的“持續集成”是什么?

      • 持續集成是一種開發實踐,可以將代碼集成到共享存儲庫中。

      • 該實踐使用自動驗證來及早發現代碼問題。

      • 持續集成觸發構建以查找和識別代碼中存在的錯誤。

      • 它增加了構建過程的一致性。

      • 這是一種更快地構建事物并防止代碼損壞的方法。

      Jenkins 架構

      Jenkins 如何工作?

      Jenkins 在每次提交源代碼存儲庫(通常是開發分支)時都會觸發構建。

      • Jenkins 可以配置為運行初始的單元測試套件,以確保提交不會“破壞構建”。如果測試未通過,可以立即通知開發人員采取糾正措施。這就解決了“誰破壞建造?”的問題。因為很容易確定哪個提交導致構建失敗。如果所有單元測試都通過,那么構建管道可以進入下一階段的集成測試,這通常需要更長的時間來運行。

      • Jenkins 提供了在多臺機器上并行運行構建的能力,以最大限度地減少完成許多這些活動所需的總時間。最后,Jenkins 可以將構建部署到允許在將其發布到生產環境之前進行任何所需的用戶驗收測試 (UAT) 的環境。這些簡化的步驟體現了持續集成 (CI) 環境的精神。

      Jenkins的好處

      Jenkins 并不是當今唯一的 CI 工具 - GitHub Actions、GitLab、Travis CI 和 CircleCI 是一些使用更廣泛的替代品。那么是什么讓 Jenkins 脫穎而出,成為大多數開發人員的首選呢?

      • 開源:這顯然是 Jenkins 受到廣泛歡迎的一個關鍵原因。它是免費的,因此任何組織都可以開始使用它,而不受預算限制。它也很

      • 容易安裝:Jenkins 是作為一個獨立的 Java 程序開發的,這意味著它可以在大多數設備和操作系統上運行。

      • 社區支持:由于它是開源的,并且多年來一直是首選 CI 工具,Jenkins 現在擁有強大的社區支持。這增強了 Jenkins 的受歡迎程度,因為很容易找到教程和其他資源來充分利用它。

      • 插件: Jenkins 的主要優點之一是可以擴展其功能的龐大插件目錄。據最新統計,Jenkins 擁有超過 1,800 個社區開發的插件,允許任何組織調整或增強基本功能以適應自己的 DevOps 環境。除了插件之外,Jenkins 還易于修改和擴展,以滿足大多數組織的需求。

      • 分布式:對于復雜的項目來說,一臺服務器就足夠了,因此 Jenkins 使用主從架構來管理分布式構建。主服務器是“主”服務器,然后它可以將工作負載分配給其他“從”服務器,從而允許同時運行多個構建和測試環境。例如,這種方法可用于在不同操作系統上構建和測試代碼。

      Jenkins 搭建過程

      本文章使用版本:Jenkins 2.426.1 (November 2023) and newer
      需要支持Java版本:Java 11, Java 17 or Java 21

      準備環境

      [root@Jenkins ~]# cat /etc/redhat-release
      CentOS Linux release 7.9.2009 (Core)
      [root@Jenkins ~]# uname -r
      3.10.0-1160.el7.x86_64
       
      [root@Jenkins ~]# setenforce 0
      [root@Jenkins ~]# sed -i.bak '7s/enforcing/disabled/' /etc/selinux/config
       
      [root@Jenkins ~]# systemctl stop firewalld
      [root@Jenkins ~]# systemctl status firewalld
      ● firewalld.service - firewalld - dynamic firewall daemon
         Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
         Active: inactive (dead)
           Docs: man:firewalld(1)
      [root@Jenkins ~]# firewall-cmd --state
      not running
      

      下載安裝

      Jenkins 官方 【jenkins-2.426.1-1.1.noarch.rpm
      清華大學開源軟件鏡像站 【jenkins-2.426.1-1.1.noarch.rpm

      # 下載安裝java 11
      [root@Jenkins ~]# yum install java-11-openjdk java-11-openjdk-devel
      
      #############################################################################################################
      # 下載安裝指定穩定版Jenkns 
      [root@Jenkins ~]# wget https://mirrors.jenkins-ci.org/redhat-stable/jenkins-2.346.1-1.1.noarch.rpm
      [root@Jenkins ~]# rpm -ivh jenkins-2.346.1-1.1.noarch.rpm
      #############################################################################################################
      
      # 下載安裝最新穩定版Jenkins (當前2.426.1)
      [root@Jenkins ~]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
      [root@Jenkins ~]# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
      [root@Jenkins ~]# yum install jenkins
      
      [root@Jenkins ~]# yum list | grep jenkins
      jenkins.noarch                              2.426.1-1.1                @jenkins
      
      [root@Jenkins ~]# rpm -ql jenkins
      /usr/bin/jenkins                          # jenkins安裝目錄,WAR包會放在這里。
      /usr/lib/systemd/system/jenkins.service   # Jenkins配置文件、端口、JENKINS_HOME等配置信息
      /usr/share/java/jenkins.war               # jenkins.war默認位置
      /usr/share/jenkins/migrate                # 關于遷移
      /var/cache/jenkins                        # 緩存目錄
      /var/lib/jenkins                          # 默認的JENKINS_HOME
      
      [root@Jenkins ~]# chown -R root.root /var/cache/jenkins /var/lib/jenkins
      

      修改配置

      # 默認配置
      [root@Jenkins ~]# egrep -v "^$|^#" /usr/lib/systemd/system/jenkins.service
      [Unit]
      Description=Jenkins Continuous Integration Server
      Requires=network.target
      After=network.target
      [Service]
      Type=notify
      NotifyAccess=main
      ExecStart=/usr/bin/jenkins
      Restart=on-failure
      SuccessExitStatus=143
      User=jenkins
      Group=jenkins
      Environment="JENKINS_HOME=/var/lib/jenkins"
      WorkingDirectory=/var/lib/jenkins
      Environment="JENKINS_WEBROOT=%C/jenkins/war"
      Environment="JAVA_OPTS=-Djava.awt.headless=true"
      Environment="JENKINS_PORT=8080"
      [Install]
      WantedBy=multi-user.target
      
      # 修改如下內容
      [root@Jenkins ~]# vim /usr/lib/systemd/system/jenkins.service
      ...
      ...
      # 修改用戶及屬組
      #User=jenkins
      #Group=jenkins
      User=root
      Group=root
      ...
      ...
      # 修改端口號
      #Environment="JENKINS_PORT=8080" 默認端口
      Environment="JENKINS_PORT=8989"
      ...
      ...
      # 開啟日志
      #Environment="JENKINS_ENABLE_ACCESS_LOG=false" 默認關閉
      Environment="JENKINS_ENABLE_ACCESS_LOG=true"
      

      啟動 Jenkins

      [root@Jenkins ~]# systemctl start jenkins
      [root@Jenkins ~]# java --version
      openjdk 11.0.21 2023-10-17 LTS
      OpenJDK Runtime Environment (Red_Hat-11.0.21.0.9-1.el7_9) (build 11.0.21+9-LTS)
      OpenJDK 64-Bit Server VM (Red_Hat-11.0.21.0.9-1.el7_9) (build 11.0.21+9-LTS, mixed mode, sharing)
      [root@Jenkins ~]# jenkins --version
      2.426.1
      
      [root@Jenkins ~]# netstat -ntpl | grep 8989
      tcp6       0      0 :::8989                 :::*                    LISTEN      1687/java
      [root@Jenkins ~]#
      [root@Jenkins ~]# ps -ef | grep jenkins
      jenkins    1687      1  4 16:28 ?        00:00:12 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=%C/jenkins/war --httpPort=8989 --accessLoggerClassName=winstone.accesslog.SimpleAccessLogger --simpleAccessLogger.format=combined --simpleAccessLogger.file=/var/log/jenkins/access_log
      root       1967   1427  0 16:33 pts/1    00:00:00 grep --color=auto jenkins
      

      打開瀏覽器進入鏈接 http://IP:PORT

      [root@Jenkins ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
      1d6f364f60a44f449f9253b5cee0893c
      

      posted @ 2024-04-26 10:48  講文張字  閱讀(2244)  評論(0)    收藏  舉報
      返回頂部
      主站蜘蛛池模板: 艳妇乳肉豪妇荡乳在线观看| 久久精品免视看国产成人| 亚洲成人资源在线观看| 777米奇影视第四色| 亚洲综合一区二区三区不卡 | 手机看片日本在线观看视频| 色情无码一区二区三区| 国产91色综合久久免费| 亚洲精品美女一区二区| 婷婷丁香五月激情综合| 国产精品综合在线免费看| 日韩在线观看精品亚洲| 一区二区不卡国产精品| 一区二区三区鲁丝不卡| A毛片终身免费观看网站| 国产边摸边吃奶边叫做激情视频 | 国产一区视频一区欧美| 精品视频不卡免费观看| 最新国产精品中文字幕| 亚洲午夜精品久久久久久抢| 韩国免费A级毛片久久| 免费av深夜在线观看| 国产亚洲精品综合99久久| 国产69精品久久久久99尤物| 日韩丝袜亚洲国产欧美一区| 又黄又爽又色视频免费| 精品国产一区二区三区性色| 视频一区视频二区制服丝袜 | 国产成人亚洲无码淙合青草| 欧美牲交a欧美牲交aⅴ免费真| 亚洲夜色噜噜av在线观看| 99热久久这里只有精品| 久热久热中文字幕综合激情| 久久亚洲精品情侣| 东方四虎在线观看av| 国产成人午夜福利在线观看| 精品 无码 国产观看| 亚洲男人的天堂av手机在线观看| 国内熟妇人妻色在线视频| 报价| 久久久久人妻精品一区三寸|