Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 97超精品视频在线观看,www.日韩在线观看,韩国黄色三级视频

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          端到端JAVA DEVOPS自動化項目-第3部分

          端到端JAVA DEVOPS自動化項目-第3部分

          決條件:第二部分端到端Java DevOps自動化項目

          譯自 Part-3 End-to-End Java DevOps Automation Project,作者 Naveen Kumar。

          使用 Jenkins 設置 CI/CD

          在 Jenkins 中安裝插件

          1. Eclipse Temurin 安裝程序

          • 自動安裝和配置 Eclipse Temurin JDK。
          • 安裝:
          • Jenkins 儀表板 -> 管理 Jenkins -> 管理插件 -> 可用選項卡。
          • 搜索“Eclipse Temurin Installer”并選擇它。
          • 點擊“不重啟安裝”。

          2. Pipeline Maven 集成

          • 為 Jenkins Pipeline 提供 Maven 支持。

          3. 配置文件提供程序

          • 允許您在 Jenkins 中集中定義和使用配置文件。

          4. SonarQube 掃描程序

          • 將 Jenkins 與 SonarQube 集成,用于代碼質量和安全分析。

          5. Kubernetes CLI

          • 允許 Jenkins 使用 kubectl 與 Kubernetes 集群交互。

          6. Kubernetes

          • 將 Jenkins 與 Kubernetes 集成,允許 Jenkins 代理作為 Pod 運行。

          7. Docker

          • 使 Jenkins 能夠與 Docker 交互以構建和管理容器。

          8. Docker Pipeline

          • 使用 Docker 特定步驟擴展 Jenkins Pipeline。

          9. Maven 集成

          • 使您的項目保持同步,并確保它們始終使用最新更新進行測試。

          在 Jenkins 服務器上安裝和配置 Trivy

          • 注意:沒有用于 Trivy 的 Jenkins 插件,因此請直接在 Jenkins 服務器上安裝它,并將其添加到您的 Jenkins Pipeline 階段。

          Trivy 安裝命令

          sudo apt-get install wget apt-transport-https gnupg lsb-release -y
          wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add -
          echo deb https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list.d/trivy.list
          sudo apt-get update -y
          sudo apt-get install trivy -y
          trivy -v
          # Expected output: Version: 0.53.0 (or the latest version)

          全局工具配置:

          “全局工具配置”部分(以前稱為“管理 Jenkins -> 配置工具”)是您定義和管理 Jenkins 在所有作業中使用的工具的地方。這包括編譯器、構建工具以及構建項目所需的其它實用程序。

          創建 Git 憑據作為全局憑據

          使用 GitHub 用戶名作為用戶名,使用我們在第 2 部分(設置私有存儲庫時)創建的令牌作為密碼值

          通過全局憑證創建 Git 憑證:將用戶名設置為 GitHub 用戶,將密碼值設置為我們在第 2 部分(設置專用存儲庫時)創建的令牌。

          憑據”部分允許您管理 Jenkins 用于安全地與外部系統交互的憑據。憑據可以包括用戶名和密碼、SSH 密鑰、API 令牌等等。

          從這里開始,我們將開始編寫 Jenkins Pipeline 代碼,您可以從該文件獲取完整代碼:pipeline.groovy,并逐步執行。

          Jenkins Pipeline 設置步驟:

          1. 創建作業名稱:BoardGame,類型為 Pipeline
          1. Enable - 丟棄舊構建(要保留的最大構建數=2)

          管理 Jenkins -> 系統

          系統”部分位于“管理 Jenkins”下,您可以在其中配置 Jenkins 的整體系統設置。這包括影響整個 Jenkins 安裝及其運行方式的設置。

          配置 SonarQube 服務器

          在 Jenkins Pipeline 中編寫 SonarQube 分析階段之前,您需要在 Jenkins 中配置 SonarQube 服務器。以下是執行此操作的步驟:

          1. 獲取 SonarQube 服務器憑據:

          轉到 SonarQube 服務器 -> 管理 -> 安全 -> 用戶 -> 令牌

          2. 在 Jenkins 中創建全局憑據:

          3. 在 Jenkins 中配置 SonarQube 服務器:

          在 Jenkins Pipeline 中編寫 SonarQube 質量門階段之前的步驟,

          轉到 SonarQube 服務器 -> 管理 -> 配置 -> Webhook -> 令牌

          添加 Jenkins IP:

          以下是 SonarQube 和 Jenkins 集成完整架構的參考:

          配置 Nexus

          在編寫 發布到 Nexus 工件階段的代碼之前,我們需要在 POM 文件中添加存儲庫 URL。

          要配置 Jenkins 中的全局 Maven 設置,請執行以下步驟:

          1. 導航到配置:

          • 轉到 管理 Jenkins->管理文件
          • 添加一個新的配置文件。

          2. 設置配置類型和 ID:

          • 選擇配置類型為 全局 Maven settings.xml
          • 將配置文件的 ID 設置為 global-settings.

          3. 編輯內容:

          • 通過在 <servers> 標簽內添加以下代碼來編輯配置文件的內容:
          <servers>
            <server>
              <id>maven-releases</id>
              <username>nexus username</username>
              <password>nexus password</password>
            </server>
            <server>
              <id>maven-snapshots</id>
              <username>nexus username</username>
              <password>nexus password</password>
            </server>
          </servers>

          將 nexus username 和 nexus password 替換為您的實際 Nexus 憑據。

          通過執行這些步驟,您將在 Jenkins 中配置全局 Maven 設置,以包含必要的 Nexus 存儲庫憑據。

          Jenkins 的“管理 Jenkins”下的“管理文件”部分用于處理集中管理的配置文件,這些文件可以在 Jenkins 作業中引用。此功能是 Config File Provider 插件的一部分。

          設置 Docker-hub 憑據:

          階段:部署到 Kubernetes 集群

          通過運行以下命令在 Jenkins 服務器上安裝 KUBECTL

          curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.19.6/2021-01-05/bin/linux/amd64/kubectl
          chmod +x ./kubectl
          sudo mv ./kubectl /usr/local/bin
          kubectl version --short --client
          

          為了正確且安全地將應用程序部署到 Kubernetes 集群,我們需要遵循正確的流程,例如創建服務帳戶和使用基于角色的訪問控制 (RBAC)。

          RBAC 代表基于角色的訪問控制。假設我們的項目中有三個用戶:

          • 用戶 1:具有全面知識的架構師。
          • 用戶 2:中級人員。
          • 用戶 3:實習生或非常新的人。

          在使用 Kubernetes 時,我們不能授予新人或中級人員完全訪問權限。因此,我們創建角色:

          1. 角色 1:集群管理員訪問權限
          • 對集群擁有完全訪問權限。
          • 此角色分配給架構師(用戶 1)。
          1. 角色 2:中級訪問權限
          • 具有良好的權限級別,但不是完全的管理員。
          • 此角色分配給中級人員(用戶 2)。
          1. 角色 3:只讀訪問權限
          • 僅允許查看資源,沒有修改權限。
          • 此角色分配給實習生(用戶 3)。

          這種方法通過不向所有人授予完全訪問權限來確保安全性。相反,我們創建具有適當權限的特定角色,并將它們分配給相應的用戶。

          現在,讓我們繼續通過創建服務帳戶來使我們的部署安全。

          1. 創建服務帳戶:
          • 此帳戶將用于管理權限和控制訪問級別。

          通過遵循這些步驟,我們確保我們的 Kubernetes 部署安全且得到妥善管理。現在,讓我們進入實際部分并創建服務帳戶。

          請參考此文件:service-role-for-jenkins.md 創建用于 Jenkins 的服務帳戶。

          創建服務帳戶后,將 secret/mysecretname 的復制令牌粘貼到 Jenkins 全局憑據中:

          在 Jenkins 中設置 HTML 電子郵件通知

          在 Jenkins 中配置電子郵件的步驟:

          現在使用此應用程序密碼在 Jenkins 中創建憑據:

          使用此應用密碼在 Jenkins 中創建憑據:

          提供的命令是 Jenkins 管道 post 塊,它始終在主管道階段運行后執行某些操作。此特定塊發送包含 Jenkins 構建詳細信息的電子郵件通知。以下是其使用情況和功能的細分:

          關鍵組件:

          post { always { ... } }

          • 此塊確保在每次構建后執行封閉的腳本,無論結果如何(成功、失敗等)。

          環境變量和參數:

          • jobName=env.JOB_NAME
          • 獲取 Jenkins 作業的名稱。buildNumber=env.BUILD_NUMBER
          • 獲取構建編號。pipelineStatus=currentBuild.result ?: 'UNKNOWN'
          • 獲取當前構建結果;如果結果為空,則默認為 'UNKNOWN'。bannerColor=pipelineStatus.toUpperCase()=='SUCCESS' ? 'green' : 'red'
          • 根據構建狀態設置橫幅顏色(成功為 'green',否則為 'red')。

          電子郵件正文構建:

          • 使用 HTML 模板構建電子郵件正文,顯示作業名稱、構建編號和構建狀態。橫幅的背景顏色根據構建結果而變化。

          emailext 步驟:

          • subject: 將電子郵件主題設置為包含作業名稱、構建編號和構建狀態。
          • body: 設置電子郵件的 HTML 正文。
          • to: 指定收件人的電子郵件地址(您的電子郵件:'naveenkumarsingh5556@gmail.com')。
          • from 和 replyTo: 設置發件人的電子郵件地址(此處為 'jenkins@example.com')。
          • mimeType: 指定電子郵件內容類型為 HTML。
          • attachmentsPattern: 包含附件模式以附加指定的報告文件(此處為 'trivy-image-report.html')。

          總結:

          • 目的: 通過電子郵件通知 Jenkins 作業構建狀態。
          • 執行: 始終在構建后執行。
          • 電子郵件中的詳細信息: 作業名稱、構建編號、構建狀態、控制臺輸出鏈接以及附加的報告。
          • 自定義: 橫幅顏色根據構建結果而變化(成功為綠色,失敗或其他狀態為紅色)。

          此命令有助于通過自動電子郵件通知系統使利益相關者了解構建狀態。

          最終結果:

          總結:

          本文介紹了使用 Jenkins 為 Java DevOps 自動化項目設置全面的 CI/CD 管道的步驟。關鍵步驟包括安裝必要的 Jenkins 插件,配置 SonarQube、Nexus、Docker 和 Kubernetes 等工具,以及設置全局憑據。我們還演示了如何使用基于角色的訪問控制 (RBAC) 將應用程序安全地部署到 Kubernetes 集群,以及如何配置 HTML 電子郵件通知以獲取構建狀態更新。通過遵循這些步驟,您可以確保為您的 Java 應用程序建立一個健壯、自動化和安全的部署管道。

          知道mac郵件客戶端哪個好用?不要擔心,這里為大家推薦Airmail Mac版,你可以登錄iCloud、Gmail、Yahoo、Outlook、Google App等賬號,Airmail 5 for mac中文版支持保留單個或多個帳戶,快速切換賬號,輕松收發郵件,非常便捷,需要mac郵件客戶端的朋友趕緊試試airmail mac版吧!

          Airmail for mac官方介紹

          Airmail是一個新的郵件客戶端,具有快速的***能和直觀的交互。它支持iCloud?,MS Exchange,Gmail?,Google?應用程序,IMAP,POP3,Yahoo!?,AOL?,Outlook.com?和Live.com?。

          無論您使用單個帳戶還是多個帳戶,Airmail都是從頭開始設計的,可為您提供一致的體驗,并提供快速,現代且易于使用的界面。Airmail很干凈,可以讓您不間斷地收到電子郵件。這是你想要的郵件客戶端,但直到現在還沒有找到。

          我們通過Airmail將可用***和功能提升到了新的水平。Airmail擁有漂亮的設計,并為所有主要的電子郵件服務提供支持。在閃存中切換帳戶,輕松地將您的電子郵件轉換為其他應用程序中的任務或備注,并在幾秒鐘內快速回復收到的消息。電子郵件從未如此簡單和富有成效。

          https://mac.orsoon.com/Mac/164236.html?id=MTY4MTYyJl8mMjIwLjE4Ni41Mi4yNw%3D%3D

          airmail mac版功能特點

          記錄:

          - 統一收件箱

          - 自定義SMTP別名

          - Exchange、iCloud?、Gmail?、IMAP、POP3、Google? Apps、Yahoo!?、AOL?、Outlook.com?、Live.com?

          - 本地帳戶

          - 從Apple Mail、MBOX存檔、EML、EMLX、Airmail 1.x導入

          交互:

          - 快速回復

          - 撤消歷史

          - 離線***作

          - 在不同郵箱間移動郵件

          - 交互聲音

          - 多點觸控手勢

          - Exchange會議邀請

          快捷鍵:

          - Gmail快捷鍵

          - 自定義全局快捷鍵

          - Quick Label、移動、標簽和存檔

          - 快速文件夾選擇

          附件:

          - 拖放

          - Quick Look預覽

          - Google Drive、Dropbox、CloudApp、Box、Onedrive、Droplr、FTP

          - Inline圖像附件

          - Winmail.dat預覽

          - VCalendar

          對話:

          - 按ID分組

          - 按主題分組

          - 時間倒序

          - 屏蔽抄送對話

          視覺:

          - 多個視覺主題

          - 最小和擴展模式

          - 純文本渲染

          通知:

          - 按帳戶通知

          - 通知中心支持

          - 帶自定義***作的通知提醒

          地址:

          - Gmail、Exchange和OS X聯系人

          - 聯系人群組

          - 按地址過濾

          - 開放目錄搜索

          撰寫器:

          - Google App目錄

          - Exchange全局地址列表

          - LDAP目錄

          - Markdown、Html(模板的Html源代碼)和純文本。

          - 每個帳戶的自定義設置

          - 項目符號和編號列表。

          發送:

          - 自動抄送、密件抄送

          - 等待***作

          - 發送延遲

          - 重定向

          - 再次發送

          - 退回

          高級:

          - 分屏支持

          - 適用于Time Machine

          - Deckles模式

          - EML導入/導出

          - 禁用GPU以延長電池壽命

          - Applescript

          - 活動監視器

          - 數據檢測器

          簽名:

          - 多個賬戶簽名

          - Markdown、富文本、Html源代碼和純文本。

          - 在引用上方或下方簽名

          搜索和過濾:

          - 多個帳戶全局搜索

          - 強大的實時過濾

          - 郵件、日期、附件、對話排序…

          - 顯示同一用戶的郵件

          - 標記和過濾

          文件夾、標簽:

          - 嵌套文件夾

          - 創建、刪除和編輯文件夾

          - 由iCloud同步的自定義色彩

          - 自定義文件夾映射

          - 待辦事項、已完成、備忘錄

          發送至:

          - Omnifocus

          - Fantastical

          - Evernote

          - Apple Reminder

          - Calendar

          - BusyCal

          - Things

          - 2To

          - Wunderlist

          - Todoist

          ***:

          - 每個用戶自動加載遠程圖像,

          - 禁用圖標檢測

          創: JAP君 JAVAandPython君

          大家可能都知道STMP這個協議,這個協議是用于發送郵件,很多語言都支持此協議,Python內置也是對SMTP支持的,可以發送純文本郵件、HTML郵件以及帶附件的郵件。在Python爬蟲的開發中Email有啥用呢?Email主要起的是提醒作用,在我們爬蟲運行的時候可能會遇到異常或者服務器方面的問題,我們可以通過郵件的形式來及時通知我們,我們再去進行處理。


          Python對STMP支持有兩個庫,分別是smtplib和email。email庫主要是負責構造郵件,smptlib庫負責發送郵件。

          我們可以把Email提醒功能封裝起來,我們需要的時候直接調用即可,這樣慢慢的也可以形成我們自己的一個爬蟲系統模塊。

          我們現在具體來講解一下,首先我們需要兩個郵箱,一個用于發郵件,一個用于接收郵件,我這里用的分別是163郵箱和QQ郵箱.

          首先最重要的一步,就是開啟STMP功能。




          上面兩張圖分別是163郵箱和QQ郵箱的STMP功能開通界面(必須要打開此功能

          我們將其封裝好的代碼如下:


          class SendMail(object):
          def __init__(self,username,passwd,recv,title,content,
           file=None,
           email_host='smtp.163.com',port=25):
          self.username=username
          self.passwd=passwd
          self.recv=recv
          self.title=title
          self.content=content
          self.file=file
          self.email_host=email_host
          self.port=port
          def send_mail(self):
           msg=MIMEMultipart()
          #發送內容的對象
          if self.file:#處理附件的
           att=MIMEText(open(self.file).read())
           att["Content-Type"]='application/octet-stream'
           att["Content-Disposition"]='attachment; filename="%s"'%self.file
           msg.attach(att)
           msg.attach(MIMEText(self.content))#郵件正文的內容
           msg['Subject']=self.title # 郵件主題
           msg['From']=self.username # 發送者賬號
           msg['To']=self.recv # 接收者賬號列表
          self.smtp=smtplib.SMTP(self.email_host,port=self.port)
          #發送郵件服務器的對象
          self.smtp.login(self.username,self.passwd)
          try:
          self.smtp.sendmail(self.username,self.recv,msg.as_string())
           except Exception as e:
           print('出錯了',e)
          else:
           print('發送成功!')
          def __del__(self):
          self.smtp.quit()
          # 調用封裝
          if __name__=='__main__':
           m=SendMail(
           username='XXX@163.com',passwd='XXX',recv='XXX@XXX.com',
           title='JAVAandPython君',content='這里可以改成異常的輸出',file='JAVA.txt'
           )
           m.send_mail()
          


          上面43行代碼就可以完美解決,因為最近項目里面也用到了這一塊的知識,所以特意分享給大家,本人覺得還是比較實用的!

          最后,我自己是一名從事了多年開發的Python老程序員,辭職目前在做自己的Python私人定制課程,今年年初我花了一個月整理了一份最適合2019年學習的Python學習干貨,可以送給每一位喜歡Python的小伙伴,想要獲取的可以關注我的頭條號并在后臺私信我:Python,即可免費獲取。


          主站蜘蛛池模板: 亚洲视频一区二区在线观看| 日韩高清国产一区在线| 国产另类TS人妖一区二区| 一色一伦一区二区三区| 色老头在线一区二区三区| 日本高清成本人视频一区| 日韩在线视频一区| 精品免费国产一区二区| 亚洲码欧美码一区二区三区| 亚洲综合无码一区二区三区| 国产高清不卡一区二区| 久久久91精品国产一区二区三区 | 精品国产一区二区三区四区| 中文字幕aⅴ人妻一区二区 | 亚洲熟妇av一区二区三区漫画| 国产成人精品视频一区| 国产在线一区二区杨幂| 无码人妻一区二区三区av| 亚洲AV无码一区二区大桥未久| 亚洲Av高清一区二区三区| 2018高清国产一区二区三区| 精品无码一区在线观看| 中文无码一区二区不卡αv| 国产精品电影一区| 成人精品一区二区激情| 精品国产一区二区三区在线 | 亚洲一区二区三区在线播放| 一区二区三区在线免费| 国产高清精品一区| 中文字幕亚洲乱码熟女一区二区| 人妻少妇AV无码一区二区| 波多野结衣免费一区视频| 久久一区二区三区精品| 亚洲色精品VR一区区三区| 欧美日韩精品一区二区在线视频| 国产人妖视频一区二区破除| 中文字幕日韩一区二区三区不| 国产一区二区福利| 亚洲AV日韩综合一区尤物| 日韩少妇无码一区二区三区| 亚洲一区AV无码少妇电影☆|