国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

CICD中的Jenkins和Ansible解決方案

這篇具有很好參考價值的文章主要介紹了CICD中的Jenkins和Ansible解決方案。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

每一次重裝系統(tǒng)或者是需要在服務器上正確運行軟件,我們都需要重新安裝所有的package、dependency并進行相應配置的微調。而這一過程可能就會因為疏忽導致錯誤,因此需要自動化部署

持續(xù)整合,持續(xù)交付(CI/CD)的實踐,我們能夠周期性的對產品進行各種專業(yè)測試,如果出現問題我們也能快速找到發(fā)生問題的最近位置。同時我們還能進行報表分析和自動通知等其他操作

Ansible

ansible就是這樣一款主流的自動化部署工具,要通過ansible在被控節(jié)點(managed node)上配置環(huán)境,我們需要安裝Pyhton然后通過SSH連線。

安裝過程

Ansible當中,所有機器分為以下兩類:

  • 控制主機(Control Machine): 這類主機能通過Ansible的playbook(劇本)對被控節(jié)點進行部署
  • 被控節(jié)點(Managed Machine):又稱Remote Node,這類節(jié)點就是我們通過Ansible進行部署的對象

值得注意的是,Ansible并不用安裝在被控主機上,只需要保證能通過SSH與Control Machine溝通就可以了

playbook

我們使用playbook,這一由YAML編寫的程序,來告訴Ansible需要做什么。

---
- hosts: server
  tasks:
    # task 1
    - name: test connection
      ping:
      register: message

    # task 2
    - name: print debug message
      debug:
        msg: "{{ message }}"

task1中,調用了ansible內置模塊-ping,用于測試控制主機能否與被控節(jié)點連線。如果正常,會回傳“pong”信息,然后我們能通過register將被控主機回傳的消息存貯在message變量中

task2中,利用debug方法將message輸出到終端上

如何運行playbook

ansible-playbook playbook.yml

但是這樣ansible并不會做任何task,因為ansible應該對hosts指定的server來執(zhí)行task。但是我們并沒有告訴ansible哪一臺是server,因此需要一個inventory來讓ansible參考,具體編寫需要先在ansible的config中指定inventory路徑。

但是呢,不同的部署環(huán)境(比如test、development、producting)需要不同的配置細節(jié),因此我們就可以定義多個inventory file,然后通過以下指令來實現部署

$ ansible-playbook -i devl-inventory devl-playbook.yml
$ ansible-playbook -i prod-inventory prod-playbook.yml

當然也可以寫在同一文件中使用[]標識

[test]
127.0.0.1 ansible_port=2222 ansible_user=test_user

[test:vars]
email_receivers=test@gmail.com

[devl]
127.0.0.1 ansible_port=2222 ansible_user=devl_user

[devl:vars]
email_receivers=devl@gmail.com

Ansible Role

我們可以通過自定義的role來使playbook重復使用,以此來是一部分部署資源能被重復使用

Ansible會在下列路徑尋找可執(zhí)行roles:

  1. 與playbook同一層額roles文件夾
  2. /etc/ansible/roles

例如

workspace
├── inventory
├── playbook.yml
└── roles
    └── pip
        └── tasks
            └── main.yml

表示pip是第一個role的名稱,然后工作流程定義在tasks/main.yml中

playbook中改為以下內容

---
  - hosts: server
    roles:
      - { role: pip, become: yes }

Jenkins

當前安裝Jenkins的方法有許多,其中一種比較好的是利用docker來進行。因為容器本身比較輕量,資源遠少于啟動虛擬機;而且容器之間資源相互隔離,不存在相互污染。

Jenkins Job

Job(任務)是構建持續(xù)集成流程的基本單元,Job 可以包括多個構建步驟,例如源碼管理、構建、測試和發(fā)布等。

Job 的用途主要包括以下幾個方面:文章來源地址http://www.zghlxwxcb.cn/news/detail-430019.html

  1. 構建持續(xù)集成流程:通過 Job,可以將代碼拉取、構建、測試和部署等步驟串聯起來,從而構建出一個完整的持續(xù)集成流程。這樣可以實現快速、自動化的構建和部署,提高軟件開發(fā)的效率和質量。
  2. 自動化測試:Job 中可以包含自動化測試步驟,例如單元測試、集成測試和端到端測試等。自動化測試可以在構建過程中自動運行,從而及早發(fā)現代碼錯誤,減少測試成本和時間。
  3. 構建報告和通知:Job 運行后,可以生成各種構建報告,例如測試報告、代碼覆蓋率報告和構建日志等。同時,Jenkins 還支持各種通知方式在構建失敗或成功后通知相關人員。
  4. 構建流水線:多個 Job 可以通過 Jenkins 提供的 Pipeline 功能串聯起來,形成一個完整的構建流水線,實現多個 Job 的協同工作

到了這里,關于CICD中的Jenkins和Ansible解決方案的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 記一次前端Vue項目國際化解決方案

    有一個vue項目,要實現國際化功能,能夠切換中英文顯示,因為該項目系統(tǒng)的用戶包括了國內和國外用戶。 1、頁面表單上的所有中文標簽要國際化,包括表單屬性標簽、表格列頭標簽等, title=“數量”; 2、輸入框的提示內容需要國際化,如 placeholder=“選擇日期” 3、js代碼

    2024年02月20日
    瀏覽(23)
  • 【Jenkins】使用java -jar jenkins.war --httpPort=XXXX啟動Jenkins報錯【解決方案】

    【Jenkins】使用java -jar jenkins.war --httpPort=XXXX啟動Jenkins報錯【解決方案】

    ??歡迎關注博主【米碼收割機】 ??一起學習C++、Python主流編程語言。 ??機器人、人工智能等相關領域開發(fā)技術。 ??主流開發(fā)、測試技能。 在cmd中,執(zhí)行啟動命令行: 報錯信息如下: 5月 06, 2023 4:55:49 下午 Main verifyJavaVersion 嚴重: Running with Java class version 63 which is not in th

    2024年02月07日
    瀏覽(28)
  • SkyEye與Jenkins的DevOps持續(xù)集成解決方案

    SkyEye與Jenkins的DevOps持續(xù)集成解決方案

    在技術飛速發(fā)展的當下,隨著各行各業(yè)的軟件邏輯復雜程度提升帶來的需求變更,傳統(tǒng)測試已無法滿足與之相對應的一系列測試任務,有必要引入一個自動化、可持續(xù)集成構建的DevOps平臺來解決此類問題。本文將主要介紹SkyEye與Jenkins的持續(xù)集成解決方案。 何謂DevOps?DevOps是

    2024年02月15日
    瀏覽(25)
  • 記一次阿里云被入侵的解決方案(小白攻略歡迎大佬指點)

    記一次阿里云被入侵的解決方案(小白攻略歡迎大佬指點)

    目錄 前言: 尋找挖礦進程之旅: 我的處理思路: 故事就發(fā)生在2022年11月23日,一個舒適的下午。我不知怎的突然想在企業(yè)網絡環(huán)境下通過我的Xshell7 連接我的阿里云ESC服務器。順便檢查一下我1年前自己搭的小破站是否還健在(域名備案失效了,我本想去檢查一下服務在不在

    2024年01月18日
    瀏覽(13)
  • 記一次由于操作失誤致使數據庫癱瘓的故障分析與解決方案

    2023年8月27日,隨著新業(yè)務的接入,我們開始進行項目的灰度發(fā)布。然而,直到2023年8月31日下午,我們才發(fā)現一個新字段并沒有進行字段刷新,導致所有數據都是默認值,從而無法繼續(xù)進行灰度測試。在業(yè)務方的要求下,我們需要進行批量更新字段。鑒于我們已經知道了時間

    2024年02月09日
    瀏覽(22)
  • jenkins構建UNSTABLE原因及解決方案一二三四五(不斷更新中。。。)

    jenkins構建UNSTABLE原因及解決方案一二三四五(不斷更新中。。。)

    最近,項目構建老是出現:jenkins構建UNSTABLE問題(一般構建按鈕為黃色)。 構建不穩(wěn)定的情況有好多種,總結幾個小編遇到過并已成功解決的方案: 情況一: 問題截圖: 問題詳情: 分析原因: 這句話的意思是:構建步驟“通過SSH發(fā)送文件或執(zhí)行命令”將生成結果更改為不

    2023年04月08日
    瀏覽(136)
  • 『DevOps最佳實踐』使用Jenkins和Harbor進行持續(xù)集成和交付的解決方案

    『DevOps最佳實踐』使用Jenkins和Harbor進行持續(xù)集成和交付的解決方案

    ??讀完這篇文章里你能收獲到 全文采用圖文形式講解 學會使用Harbor配置項目 學會在Jenkins中配置Harbor推送權限 使用Jenkins和Harbor進行持續(xù)集成的實踐 感謝點贊+收藏,避免下次找不到~ 在現代軟件開發(fā)中,自動化部署是提高效率和可靠性的關鍵。本文將帶你深入探索如何使用

    2024年02月08日
    瀏覽(26)
  • 【Git】第一次將本地項目倉庫推代碼到空的遠程倉庫方法以及報錯的解決方案

    【Git】第一次將本地項目倉庫推代碼到空的遠程倉庫方法以及報錯的解決方案

    完成上述三步之后,在彈出來的對話框中選擇自己的項目目錄, 點確定,就可以在文件管理器中看到目錄下生成了一個隱藏目錄 “ .git ” 右鍵項目目錄,找到Git,根據圖示找到remote 在彈出來的對話框中,輸入自己遠程倉庫的地址 點擊ok,輸入驗證信息,連接完畢。 點擊p

    2024年02月15日
    瀏覽(33)
  • 記一次pip下載包報錯ERROR: No matching distribution found for xxx時的解決方案

    記一次pip下載包報錯ERROR: No matching distribution found for xxx時的解決方案

    前言 當我們使用python自帶的pip安裝一些包時,可能會報以下錯誤: 出現這種情況有三種可能: 第一種可能: pip的版本過低,需要升級一下,可以執(zhí)行以下命令進行嘗試 第二種可能: 考慮可能是網速的原因,這時可以采用國內的鏡像源來加速 第三種可能: 檢查下是否開啟

    2024年02月11日
    瀏覽(34)
  • .NET Core部署到linux(CentOS)最全解決方案,入魔篇(使用Docker+Jenkins實現持續(xù)集成、自動化部署)

    .NET Core部署到linux(CentOS)最全解決方案,入魔篇(使用Docker+Jenkins實現持續(xù)集成、自動化部署)

    通過前面三篇: .NET Core部署到linux(CentOS)最全解決方案,常規(guī)篇 .NET Core部署到linux(CentOS)最全解決方案,進階篇(Supervisor+Nginx) .NET Core部署到linux(CentOS)最全解決方案,高階篇(Docker+Nginx 或 Jexus) 通過前面三篇文章的介紹,我們已經對.net core多方案部署到linux下有了非常全面的認識

    2024年02月02日
    瀏覽(50)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包