安全自動化編譯部署
1. 「自動化測試」是否有必要做自動化測試
目錄
一、前言
二、自動化目的
三、自動化分如頃槐類
四、自動化實現
一、前言
在一些測試交流群經常會看到有小夥伴在問,"怎麼做自動化測試?學習自動化測試有什麼資料嗎?自動化測試是渣友不是很牛逼?" ,甚至有些言論是"不會自動化的測試人員,真的要被淘汰了嗎?"
不得不說一堆流量號主抓住大眾心理,點進去的必然是賣課廣告,或者是關注微信公眾號領取測試資料大禮包。
實話實說,我之前也有同樣的疑問,甚至帶著擔憂。每次又不甘心得領著測試資料大禮包......
當然,隨著自己的認知不斷擴大,自己的一套測試體系建設不斷完善,於是這些擔憂逐漸的消失。每項技術引用都要看適用場景,是否適合自己的團隊,因地制宜才能發揮其最大的價值。
因此,我想通過這篇文章來分享下我對於自動化測試的理解乎局。
二、自動化目的
自動化工作可以節省很多人工操作成本,減少人工重復性操作,提高整個團隊的研發效率。但是如果搭建自動化體系需要耗費很長時間,投入很多人力資源,但是用戶只要2-3分鍾的手動工作就能解決,而且這個操作並不頻繁,又或者需要自動化操作的平台變更迭代非常快並且沒有規律,自動化工具在後面類似累活的跟著。那麼自動化還是有必要嗎?
我之前在的團隊,造測試數據特別困難,嚴重影響了整個研發效率,但是當時也沒有一個好的解決辦法,後來基礎研發組做了一個造數平台,這個平台需要自己去配置各種欄位,並且梳理出各個表欄位的關聯,從頭到尾一個一個去構建場景,一不小心就配置錯誤,看著提示你也找不到原因的那種。這給造數過程中又添了一個攔路虎,給本不充裕的測試時間,又耗時一把。
如果能在做執行任務前評估任務的投入和收益,那麼是不是就能更加合理的開展這項任務。那麼自動化測試的投入和收益是怎樣的呢?
投入:通過測試人員藉助腳本或者工具實現自動化,維護自動化平台。
收益:提高測試效率,提升測試人員的成長。
自動化測試真的提高測試效率嗎?真的可以提升測試人員的成長嗎?針對後者,我認為是有的。接下來我們就來聊聊自動化測試是否提高測試效率。
三、自動化分類
自動化一般分為介面自動化和UI自動化,其中UI自動化又分為Web UI自動化和App UI自動化,按照我的理解還應加上部署自動化。
接下來我將針對這四種自動化的場景做一個介紹。因為我對於UI自動化不是很熟悉,我認為投入產出比不是很高,主要還是因為我沒咋接觸過,所以後面僅做簡單介紹,重點講解介面自動化和部署自動化。
四、自動化實現
4.1、介面自動化
介面
介面測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞過程,以及系統間的相互邏輯依賴關系等。
流程
填寫介面,入參,對出參進行斷言,每天定時構建,輸出測試報告。
入參覆蓋范圍:必選,可選,有/無/null,類型,數值大小/數值范圍,特殊字元;
出參:json,data;
介面關聯:介面之間的依賴,數據傳遞;
斷言:對響應做核驗,可以對狀態碼或者msg做校驗。
優點
介面測試可以做到更多的覆蓋場景;
介面測試可以更快的發現服務端問題;
介面測試相對容易實現自動化持續集成;
介面測試相對於比單元測試比較貼近業務場景;
技術選型
1、MeterSphere
MeterSphere 是一站式測試平台,涵蓋測試跟蹤、介面測試、性能測試、 團隊協作等功能,全面兼容 JMeter、Postman、Swagger 等開源、主流標准。
MeterSphere是一個功能交全的平台,並且是開源的,對於免費版就足夠小團隊使用了,使用門檻相對來說較低,對於技術能力要求不高,所以是一個不錯的選擇。MeterShpre使用的技術棧是SpringBoot+vue,以及一些中間件,也可以在此基礎上進行二次開發。
2、Python
通過Python來做介面自動化的話,常用組件有:執行庫Requests,斷言庫unittest,測試報告HTMLTestRunner,通過持續集成Jenkins做定時構建。
框架思想:封裝,數據驅動。
使用Python的話則需要掌握一定的代碼能力,當然這個對個人技能的提升是很有幫助的,但是如果在時間比較緊迫的並且沒有足夠的技術功底情況下,還是比較推薦MeterSphere的。
4.2、部署自動化
部署
部署就是將源代碼編譯成可運行軟體包,比如jar包或者war包,並且將軟體包放到目標環境,將軟體包運行起來,並且能夠被客戶端調用。
流程
通過遠程倉庫拉取代碼,前端編譯,後端編譯,下發軟體包到目標機器,重啟服務,啟動失敗則告警。
優點
相比傳統手工部署,速度更快,不容易出錯,提高交付效率。
技術選型
gitlab或者gitee:代碼託管
git:版本管理
node:前端編譯
maven:後端編譯
ansible:下發文件
shell:重啟服務
pipeline:流水線構建
Jenkins:CICD大總管,將以上工具整合起來,提供頁面供用戶操作部署流程。
4.3、Web UI自動化
UI自動化
通過頁面元素定位定位到元素,模擬用戶的操作行為,點擊,輸入,拖拽等。
流程
定位元素,模擬用戶操作,發送測試報告。
優點
適用於回歸主流程,並且變更不頻繁的場景。可用於重復性的功能測試及驗證。我之前在的團隊做過一段Web UI自動化,但是因為需求頻繁變更,並且精力有限,維護這個平台的成本較高,後面就沒有持續維護了。
技術選型
Python,selenium。
4.4、App UI自動化
UI自動化
通過頁面元素定位定位到元素,模擬用戶的操作行為,點擊,輸入,拖拽等。
流程
定位元素,模擬用戶操作,發送測試報告。
優點
適用於回歸主流程,並且變更不頻繁的場景。
技術選型
Appinum。
結論:我認為介面自動化和部署自動化是能夠帶來收益的,是真實能夠提高效率的,並且也能夠給測試人員的帶來成長。
關注【嘎嘎軟體測試】
搞測試,不迷路
呱呱大王本呱帶你飛!
嘎嘎軟體測試 分享個人成長、團隊管理、軟體測試技能知識等內容,做到有思想、有觀點、有深度,歡迎訂閱。
2. 安全開發你必須使用的28個DevSecOps工具
將安全融入開發過程,更早捕獲並修復應用漏洞,你需要這五類共28款DevSecOps工具。
DevSecOps 是將安全集成到整個應用開發周期的過程,是從內到外強化應用,使其能夠抵禦各種潛在威脅的理想方式。因為很多公司企業不斷開發應用以滿足客戶和商業合作夥伴的需求,DevSecOps的吸引力也與日俱增。
敏捷開發方法與DevOps操作幫助公司企業達成持續開發的目標。雲原生應用架構也成芹尺為了DevSecOps運動的有力貢獻者,推動採用公共雲提供商、容器技術和容器平台為應用提供計算能力。DevSecOps將安全過程與工具集成進工作流並加以自動化,擺脫了傳統方法按時間點進行的潛在干擾,是個無縫且持續的過程。
咨詢公司 Data Bridge Market Research 稱,鑒於網路安全威脅數量與危害性的持續上升,全球DevSecOps市場預計將從2018年的14.7億美元增長至2026年的136.3億美元。
市場繁榮之下,DevSecOps工具必將呈現百花齊放百家爭鳴的局面。下面就按核心門類為您呈上多款優秀DevSecOps工具。
開發應用的時候很容易忽略掉安全漏洞。下面的工具為開發人員提供了潛在安全異常及缺陷的警報功能,可供開發人員及時調查並修復這些漏洞,不至於走得太遠回不了頭。有些工具專用於警報功能,比如開源的Alerta 。其他工具則兼具測試等別的功能,比如 Contrast Assess。
1. Alerta
(https://alerta.io/)
該開源工具可將多個來源的信息整合去重,提供快速可視化功能。Alerta與Prometheus、Riemann、Nagios、Cloudwatch及其他監視/管理服務集成,開發人員可通過API按需定製Alerta。
2. Contrast Assess
(https://www.contrastsecurity.com/interactive-application-security-testing-iast)
作為一款互動應用安全測試(IAST)工具,Contrast Assess 與用戶應用集成,在後台持續監視代碼,並在發現安全漏洞時發出警報。據稱即便是非安全開發人員也可使用 Contrast Assess 自行識別並修復漏洞。
3. Contrast Protect
(https://www.contrastsecurity.com/runtime-application-self-protection-rasp)
該運行時應用自保護(RASP)工具採用了 Contrast Assess 同款嵌入式代理。Contrast Protect 在生產環境中查找漏洞利用程序和未知威脅,並將結果提交給安全信息及事件管理(SIEM)控制台、防火牆或其他安全工具。
4. ElastAlert
(https://elastalert.readthedocs.io/en/latest/)
ElastAlert提供近實時接收警報的框架,可接收來自Elasticsearch數據的安全異常、流量激增及其他模式。ElastAlert查詢Elasticsearch並根據一系列規則比較這些數據。一旦出現匹配,ElastAlert便發出警報並隨附建議動作。
大多數DevSecOps工具都提供一定程度的自動化。此類工具自動掃描、發現並修復安全缺陷,只是搜首飢自動化程度各有不同,從條件式事件驅動的自動化到運用深度學習技術的自動化都有。
1. CodeAI
(http://www.qbitlogic.com/codeai/)
旨世返在通過深度學習技術自動查找並修復源代碼中的安全漏洞,號稱可為開發人員提供可供參考的解決方案列表,而不僅僅是安全問題列表。其供應商QbitLogic宣稱,已為CodeAI饋送了數百萬個現實世界漏洞修復樣本供訓練。
2. Parasoft tool suite
(https://www.parasoft.com/)
Parasoft提供包括應用開發安全測試在內的多種自動化工具:
1)Parasoft C/C++test
(https://www.parasoft.com/procts/ctest)
用於開發過程早期缺陷識別;
2)Parasoft Insure++
(https://www.parasoft.com/procts/insure)
3)Parasoft Jtest
(https://www.parasoft.com/procts/jtest)
用於java軟體開發測試;
4) Parasoft dotTEST
(https://www.parasoft.com/procts/jtest)
以深度靜態分析和高級覆蓋作為 Visual Studio 工具的補充。
3. Red Hat Ansible Automation
(https://www.redhat.com/en/technologies/management/ansible)
該工具包含三個模塊——Ansible Tower、Ansible Engine 和 Red Hat Ansible Network Automation,可作為無代理IT自動化技術單獨或聯合使用。盡管不是專門的安全工具,Ansible Automation 卻可供用戶定義規則以確定自身軟體開發項目中哪些部分是安全的。
4. StackStorm
(https://stackstorm.com)
該開源工具號稱「可進行條件式運營」,其事件驅動的自動化能在檢測到安全漏洞時提供腳本化的修復與響應,並附有持續部署、ChatOps優化等功能。
5. Veracode
(https://www.veracode.com/devsecops)
該公司提供DevSecOps環境中廣泛使用的一系列自動化安全工具,包括在代碼編寫時即時自動掃描的Greenlight;在沙箱中掃描代碼漏洞的 Developer Sandbox;識別漏洞組件的 Software Composition Analysis (SCA);以及識別應用缺陷的 Static Analysis。
專用DevSecOps儀錶板工具可使用戶在同一圖形界面中查看並共享從開發伊始到運營過程中的安全信息。有些DevSecOps應用,比如ThreatModeler和Parasoft已自帶儀錶板。
1. Grafana
(https://grafana.com/)
該開源分析平台允許用戶創建自定義儀錶板,聚合所有相關數據以可視化及查詢安全數據。如果不想自行構建,還可以在其網站上選用社區構建的儀錶板。
2. Kibana
(https://www.elastic.co/procts/kibana)
如果你使用Elasticsearch,該開源工具可在統一圖形界面中集成成千上萬的日誌條目,包括運營數據、時間序列分析、應用監視等等。
威脅建模DevSecOps工具用以在復雜的攻擊界面中識別、預測並定義威脅,以便用戶可以做出主動安全決策。有些工具可根據用戶提供的系統及應用信息自動構建威脅模型,並提供可視化界面以幫助安全及非安全人員 探索 威脅及其潛在影響。
1. IriusRisk
(https://continuumsecurity.net/threat-modeling-tool/)
出自 Continuum Security 的解決方案,既可雲部署,也可現場部署,能以基於問卷的界面自動化風險及需求分析,並設計出威脅模型和技術性安全要求。IriusRisk還可幫助用戶管理代碼構建及安全測試階段。
2. ThreatModeler
(https://threatmodeler.com/)
該自動化威脅建模系統有兩個版本:AppSec版和雲版。在提供了用戶應用或系統的功能性信息後,ThreatModeler會基於更新的威脅情報自動就整個攻擊界面進行數據分析和潛在威脅識別。
3. OWASP Threat Dragon
(https://www.owasp.org/index.php/OWASP_Threat_Dragon)
一款基於Web的開源工具,提供系統圖解和用於自動化威脅建模與緩解的規則引擎。Threat Dragon 承諾可與其他軟體開發生命周期(SDLC)工具無縫集成,且界面易於使用。
在開發過程中測試應用以找出潛在漏洞是DevSecOps的關鍵部分,能夠事先發現安全漏洞,避免漏洞被黑客利用。盡管其他工具往往包含了測試功能,比如Parasoft出品的那些,下列工具仍然在應用安全測試上表現強勁。
1. BDD-Security
(https://continuumsecurity.net/bdd-security/)
該出自 Continuum Security 的開源框架可使安全人員在敏捷開發過程中測試行為驅動開發(BDD)語言編寫的功能及非功能性安全場景。此BDD框架旨在使安全功能獨立於應用特定的導航邏輯,讓同樣的安全要求能夠更容易地應用到多個應用程序上。
2. Checkmarx CxSAST
(https://www.checkmarx.com/procts/static-application-security-testing/)
可對25種編程及腳本語言進行未編譯/未構建源代碼掃描的靜態應用安全測試(SAST)工具,能在SDLC早期發現成百上千種安全漏洞。CxSAST兼容所有集成開發環境(IDE),是Checkmarx軟體暴露平台的一部分——該平台可在DevOps所有階段植入安全。Checkmarx的互動式應用安全測試(IAST)工具可檢測運行中應用的安全漏洞。
3. Chef InSpec
(https://github.com/inspec/inspec)
整個開發過程中的每一階段都可以運用該開源工具自動化安全測試以確保針對傳統伺服器及容器和雲API的合規、安全及其他政策要求。
4. Fortify
(https://www.microfocus.com/en-us/solutions/application-security)
Micro Focus 出品,提供端到端應用安全,可供進行覆蓋整個軟體開發生命周期的現場及按需測試。Fortify on Demand 是 Micro Focus 的應用安全即服務產品,提供靜態、動態和移動應用安全測試,以及生產環境中Web應用的持續監視。
5. Gauntlt
(http://gauntlt.org/)
流行測試框架,旨在推動易操作的安全測試及安全、開發和運營團隊間的溝通。GauntIt便於產生攻擊測試用例,且能方便地鉤入現有工具及進程。
6. Synopsys suite
(https://www.synopsys.com/)
Synopsys提供多個應用安全測試工具,包括:
1)SAST工具Coverity
(https://www.synopsys.com/software-integrity/security-testing/static-analysis-sast.html)
自動化測試且融入持續集成/持續交付(CI/CD)管道;
2)SCA工具 Black Duck
(https://www.synopsys.com/software-integrity/security-testing/software-composition-analysis.html)
採用容器及應用中的開源和第三方代碼檢測並管理安全;
3)SeekerIAST
(https://www.synopsys.com/software-integrity/security-testing/interactive-application-security-testing.html)
識別可暴露敏感數據的運行時安全漏洞;
以及一系列用於應用安全測試的託管服務。
以下DevSecOps工具同樣含有上述工具提供的功能,但或多或少略有不同。
1. Aqua Security
(https://www.aquasec.com/)
在整個CI/CD管道和運行時環境中管理端到端安全,可用於所有平台和雲環境的容器及雲原生應用。
2. Dome9 Arc
(https://www.checkpoint.com/solutions/devops-security/)
被 Check Point 收購,提供自動化測試及安全實施,使開發人員能夠將安全及合規融入公共雲應用的構建、部署及運營。
3. GitLab
(https://about.gitlab.com/)
該工具可將DevSecOps架構融入CI/CD過程,在提交時測試每一塊代碼,使開發人員能夠在編程期間緩解安全漏洞,並提供涵蓋所有漏洞的儀錶板。
4. Red Hat OpenShift
(https://www.redhat.com/en/technologies/cloud-computing/openshift)
為基於容器的應用提供內置安全,比如基於角色的訪問控制、以安全增強的Linux(SELinux)實現隔離,以及貫穿整個容器構建過程的核查。
5. RedLock
(https://www.paloaltonetworks.com/procts/secure-the-cloud/redlock/cloud-security-governance)(前身為Evident.io)
Palo Alto Networks 出品,適用於部署階段,幫助開發人員快速發現並緩解資源配置、網路架構及用戶活動中的安全威脅,尤其是在亞馬遜S3存儲桶和彈性塊存儲(EBS)卷上。
6. SD Elements
(https://www.securitycompass.com/sdelements/)
出品自 Security Compass 的自動化平台,旨在收集客戶軟體信息,發現威脅及對策,突出相關安全控制措施以幫助公司企業實現其安全和合規目標。
7. WhiteHat Sentinel 應用安全平台
(https://www.whitehatsec.com/procts/solutions/devsecops/)
該解決方案提供貫穿整個SDLC的應用安全,適用於需將安全集成進工具中的敏捷開發團隊,以及需持續測試以保證生產環境應用安全的安全團隊。
8. WhiteSource
(https://www.whitesourcesoftware.com/)
用於解決開源漏洞,可集成進用戶的生成過程,無論用戶採用什麼編程語言、生成工具或開發環境。WhiteSource使用經常更新的開源代碼資料庫持續檢查開源組件的安全及授權。
3. 2019最好用的自動化測試工具Top 10,果斷收藏
這個時候總是無奈的說:
你應該學習Python 或是Java
你應該掌握Selenium
又或者你需要學會jmeter,嗯,可能LoadRunner你應該學習
也許SoapUI是個不錯的選擇,或者你可是試試PostMan
......
其實這些都不是我真正的答案,我想說:只專注於一種編程語言或一種工具可能限制你的發揮,尤其可能限制了你在工作中提供的價值。如果你提供的價值在逐步退化,那麼你的舞台可能突然謝幕,你的職業停滯不前,受到限制。
所以,什麼最重要?當然是能力了!
下面我就介紹下2019最好用的10個自動化測試工具,希望可以充實你的知識庫,打開你的職業發展舞台!
在自動化測試領域,自動化工具的核心地位毋庸置疑。我總結了最頂尖的自動化測試工具,這些工具可以幫助組織更好地定位自己,跟上軟體測試的趨勢。這份清單包含了開源和商業的自動化測試解決方案。
Selenium:WebUI自動化測試
Selenium是網頁應用中最流行的開源自動化測試框架。起源於2000年,10多年來不斷地完善,Selenium成為許多Web自動化測試人員的選擇,尤其是那些有高級編程和腳本技能的人。Selenium也成為了其他開源自動化測試工具比如Katalon Studio,Watir,Protractor和Robot Framework的核心框架。
Selenium 支持多系統環境(Windows,Mac,Linux)以及多種瀏覽器(Chrome,FireFox,IE以及無頭瀏覽器(沒有界面))。它的腳本可以由各種各樣的編程語言編寫,比如 Java,Groovy,Python,C#,PHP,Ruby 以及 Perl。
因為Selenium的靈活性,測試人員可以寫各種復雜的、高級的測試腳本來應對各種復雜的問題,它需要高級的編程技能和付出來構建滿足自己需求的自動化測試框架和庫。
Appium:APP UI自動化測試
Appium是一個移動端自動化測試開源工具,支持iOS和Android平台,支持Python、Java等語言,即同一套Java或Python腳本可以同時運行在iOS和Android平台,Appium 是一個C/S架構,核心是一個Web伺服器,它提供了一套REST的介面。當收到客戶端的連接後,就會監聽到命令,然後在移動設備上執行這些命令,最後將執行結果放在HTTP響應中返還給客戶端。
Jmeter:介面測試,性能測試
JMeter是一個開源的Java桌面應用程序,主要用於web應用程序的負載測試。它還支持單元測試和有限的功能測試。
它有很多好的特性,比如動態報告、可移植性、強大的測試IDE等,並且支持不同類型的應用程序、協議、shell腳本、Java對象和資料庫。
Postman:介面測試
Postman 提供功能強大的Web API和HTTP請求的調試,它能夠發送任何類型的HTTP請求 (GET, POST, PUT, DELETE…),並且能附帶任何數量的參數和Headers。不僅如此,它還提供測試數據和環境配置數據的導入導出,付費的Post Cloud用戶還能夠創建自己的 Team Library用來團隊協作式的測試,並能夠將自己的測試收藏夾和用例數據分享給團隊。
SoapUI:介面測試
SoapUI是一個非常流行的用於SOAP和REST的開源API測試自動化框架。它還支持功能測試、性能測試、數據驅動測試和測試報告。
Monkey:穩定性測試
軟體附帶在sdk中,適用於android和ios,通過adb shell,生成用戶或系統的偽隨機事件。壓力測試結果:崩潰crash,無響應anr,基本命令:adb shell monkey 1000。
Robot Framework:Web UI自動化測試,介面測試
Robot Framework是一個開源自動化框架,它實現了用於驗收測試和驗收測試驅動開發(ATDD)的關鍵字驅動方法。Robot Framework為不同的測試自動化需求提供框架。但是,通過使用Python和Java實現其他測試庫,可以進一步擴展其測試功能。Selenium WebDriver是Robot Framework中常用的外部庫。
測試工程師可以利用Robot Framework作為自動化框架,不僅可以進行Web測試,還可以用於Android和iOS測試自動化。對於熟悉關鍵字驅動測試的測試人員,可以輕松學習Robot Framework。
QTP:Web UI自動化測試
QTP是一種自動測試工具。使用 QTP 的目的是想用它來執行重復的手動測試,主要是用於回歸測試和測試同一軟體的新版本。因此你在測試前要考慮好如何對應用程序進行測試,例如要測試那些功能、操作步驟、輸入數據和期望的輸出數據等。
QTP針對的是GUI應用程序,包括傳統的Windows應用程序,以及現在越來越流行的Web應用。它可以覆蓋絕大多數的軟體開發技術,簡單高效,並具備測試用例可重用的特點。其中包括:創建測試、插入檢查點、檢驗數據、增強測試、運行測試、分析結果和維護測試等方面。
LoadRunner:性能測試
LoadRunner,是一種預測系統行為和性能的負載測試工具。通過以模擬上千萬用戶實施並發負載及實時性能監測的方式來確認和查找問題,LoadRunner能夠對整個企業架構進行測試。
企業使用LoadRunner能最大限度地縮短測試時間,優化性能和加速應用系統的發布周期。LoadRunner可適用於各種體系架構的自動負載測試,能預測系統行為並評估系統性能。
Jenkins:持續集成
自動化構建編譯,部署,任務執行,測試報告,郵件通知等。
使用開源測試工具有很多好處,尤其是無直接的購買成本,而且可定製,但也有一定的局限性。尤其是缺乏專業的技術支持,有限的許可支持以及腳本維護有時會成為一個挑戰性的工作。
為了選擇正確的自動化測試工具,你應該確保該工具是處於活躍維護狀態的,並且與你所在企業業務、團隊、技能匹配,並且是團隊里有相應的專家。
因此在選擇工具之前,你必須仔細研究,以便該工具能夠滿足你的測需求,並且能幫助你更好的執行測試。
4. Linux裡面自動化部署工具有哪些
1. Puppet
Puppet是一款開源工具,旨在為系統管理員大大簡化自動化和報告工作。它基本上是款配置管理軟體,有助於配置和維護企業網路中的伺服器及其他系統。系統管理員通常每天要花大量時間重復做同樣的任務。他們總是想要使這些任務實現自動化,以便有更多的時間來處理其他項目或學習新的概念和腳本語言。管理員可以通過編寫腳本使任務實現自動化,但是在擁有大型網路的公司,腳本不是很方便。這時候,Puppet就大有用場,因為藉助Puppet,你可以:
為網路上的每個主機定義獨特的配置設置;
不斷監測網路,查找任何變動;
幫助高效地創建和管理用戶;
幫助管理每個開源工具的配置設置。
2. CHEF
Chef是另一款可供Linux系統管理員使用的流行的自動化工具。它用Ruby和Erlang編寫,對於配置和維護公司的伺服器大有幫助,無論貴公司擁有十台伺服器還是上百台。它還可以幫助你將雲端伺服器與亞馬遜EC2、OpenStack、RackSpace或谷歌雲整合起來。Chef可以將你的基礎設施轉變成代碼,那樣藉助代碼,你只要更改幾行代碼,就能輕松撤下一台伺服器,從而讓你輕松管理伺服器。物理節點還意味著:將變更內容部署到生產環境之前,可以對它輕松進行測試,你還可以輕松控制針對代碼的每次更新的版本。Chef DK為你提供了測試和管理配置的所有工具,Chef Server充當你所有「菜譜」(recipe)的存儲庫,可以管理與伺服器連接的每個節點。Chef客戶軟體在每個客戶端上運行,時不時收到伺服器方面的信息,從而更新其配置設置。
3. CFEngine
面向Linux系統管理員的下一款自動化工具是CFEngine,這是另一個領先的自動化系統,可幫助你輕松管理整套基礎設施,並使之實現自動化。一旦你使用CFEngine為網路中的系統定義了配置,那麼CF Engine就會自動確保配置符合規范。不用說,如果你的網路中有10個或100個節點,可以在短短幾秒內更新或改動任何一個節點或所有節點。CFEngine之所以受到許多Linux系統管理員的青睞,是由於它運行成本低、響應速度快、具有自癒合功能。
4. Ansible
Ansible是Red Hat提供的一款開源配置管理和IT企業自動化軟體,隨帶一種簡單的編程語言,讓系統管理員能夠高效地處理自動化和配置過程。Ansible由控制機器和控制機器控制的節點組成。節點是通過SSH來加以控制的。Ansible的主要特點之一是代理並不是部署到節點 ,但是完全藉助SSH來進行通信。易學易用、具有一致性、高可靠性和安全性是讓Ansible脫穎而出的其他特性。Ansible的唯一局限就是無法配置裸機和虛擬機。
5. Foreman
Foreman是另一種用於取證分析的開源配置管理工具。Foreman提供了儀錶板,我們可以通過儀錶板來配置裸機伺服器和虛擬機。默認情況下,無論我們何時安裝Foreman,它都使用Puppet作為配置工具。不過藉助插件,Foreman還支持與其他配置管理工具整合起來,比如Chef、Puppet、Ansible、Salt及其他眾多工具。Foreman自動化工具還隨帶各種各樣的介面,包括命令行介面、Web前端以及REST API。Foreman的其他一些顯著功能包括如下:
通過儀錶板,管理Puppet模塊和puppet類方面的改動;
很容易從Foreman儀錶板來管理Puppet環境;
由於儀錶板,創建主機群(Hosts Group)以及為主機群添加puppet模塊變得很輕松;
可以從Foreman儀錶板,輕松添加Puppet模塊或推送到節點。
6. Katello
Katello是另一種開源自動化工具。換而言之,我們可以說Katello是一種開源版的Red Hat satellite Server;如果我們不想花錢在企業產品及其支持上,就可以用它來代替Red Hat satellite Server。Katello已被Foreman收購,Foreman中的大部分功能在Katello中也得到了支持。Katello Server的主要功能如下:
給基於Linux的伺服器(RHEL和CentOS )打補丁;
使用Pulp Service來同步代碼庫;
使用Foreman進行各種配置;
它還可以處理訂閱內容管理,並審計所有已部署的軟體包;
藉助Katello,你可以為所有主機創建主機群,另外還可以在單一主機或一群主機上批量執行操作。
7. Nagios
Nagios現在名為Nagios Core,它是一種開源自動化和監控工具,可以管理基礎設施中的所有系統。它還提供警報服務,一旦察覺到你的網路中哪裡有問題,就會提醒系統管理員。藉助SNMP以及Nagios,系統管理員還可以控制並管理列印機、路由器和交換機。Nagios讓我們得以創建事件處理工具,一旦某個應用程序及其服務停運,就可以自動重啟出現故障的那個應用程序及其服務。
5. 自動化部署工具jenkins,從此擺脫重復單調的工作
它是基於Java開發的一種持續集成工具,用於監控持續重復的工作,旨在提供一個開放易用的軟體平台,使軟體的持續集成變成可能。
有了它你可以免除手工編譯,發布代碼,上線更容易。節省的時間你可以喝杯咖啡,放鬆一下 ^_^
道路千萬條,熟悉第一條,我這里使用 Red Hat 家族衍生的 centos 上安裝Jenkins。
這里可以下載rpm包: http://pkg.jenkins-ci.org/redhat/
也可以如下操作:
安裝
將Jenkins存儲庫添加到yum repos,並從此處安裝Jenkins。
安裝穩定版
還有一個LTS YUM資源庫的LTS版本線
安裝Java
Jenkins需要Java才能運行,但默認情況下某些發行版不包含此內容。要安裝Open Java Development Kit(OpenJDK),請運行以下命令:
安裝完成後Jenkins 啟動之前的注意事項
默認情況是Jenkins是使用Jenkins用戶啟動的,但這個用戶目前系統並沒有賦予許可權,這里我們將啟動用戶修改為root;另外Jenkins默認埠是8080,這個跟tomcat的默認埠沖突,我們也修改一下默認埠。
找到 JENKINS_USER 和JENKINS_PORT ,修改為root和你需要的埠
啟動/停止
注意:如果收到以下錯誤消息,請確保已安裝Java:
Starting jenkins (via systemctl): Job for jenkins.service failed. See 'systemctl status jenkins.service' and 'journalctl -xn' for details.[FAILED]
禁用防火牆
有關CentOS Java的重要說明
Jenkins需要Java才能運行,但yum install jenkins不強制已經安裝了java。檢查以確保您已通過運行安裝了hava java java -version。為了進一步使CentOS用戶感到困難,默認的CentOS版本的Java與Jenkins不兼容。Jenkins通常最適合使用Java的Sun實現,由於許可原因,它不包含在CentOS中。
如果您獲得類似於以下內容的輸出,則表示您使用的是Java的默認(GCJ)版本,該版本不適用於Jenkins:
要解決此問題,您可能需要刪除GC的GCJ版本並安裝Sun兼容版本。
如果收到上面的輸出,請卸載默認的java:
然後在卸載Java之後(或者如果你根本沒有安裝Java那麼開始)。您需要安裝與Sun兼容的Java版本。最簡單的方法是使用OpenJDK,它可以通過EPEL存儲庫獲得(或者您可以直接從Oracle安裝官方 RPM)。要安裝OpenJDK,請運行以下命令:
根據您的CentOS版本,OpenJDK的軟體包名稱可能有所不同。使用yum search openjdk來檢查包的名稱。如果通過yum找不到OpenJDK,則可能需要安裝EPEL yum存儲庫。安裝後,您應該能夠獲得以下java -version輸出:
Ok,到此jenkins安裝完成。
接下來你可以在瀏覽器地址中輸入Jenkins網址,如:IP:埠,將顯示如下內容:
拷貝指定文件密碼,進入用戶自定義插件界面,建議選擇安裝官方推薦插件:
接下來是進入插件安裝進度界面:
等待一段時間之後,插件安裝完成,配置用戶名密碼:
OK,你可以使用jenkins來編譯、發布你的代碼了。oh,它支持從代碼庫中直接拉取代碼,git、svn都支持。趕快使用你的Spring boot、go試試吧。
6. Jenkins+Rancher自動化部署
本文主要記錄Jenkins+Rancher+k8s自動化部署相關配置說明,不涉及rancher和jenkins安裝部署,包含java server項目、WAR項目、前端VUE項目部署配置介紹。
伺服器環境信息:
需要在安裝jenkins服務上部署下面相應的軟體,請注意軟體版本,如已經安裝相關軟體,可跳過此章節。
需要安裝rancher-cli,並且使用jenkins用戶預先登錄rancher平台:命令參考:
--token:這個用戶的token建議設置為永不過期,在rancher管理端 -> api&key > 添加。
建議安裝阿里鏡像,提高編譯速度:
jenkins啟動用戶需要添加到docker組中:
項目主要是java和vue開發的,所以需要安裝Maven Integration plugin插件。
spring boot或者spring cloud自帶容器,以及其它服務類型的java後端應用部署。
1、填寫項目名稱,選擇"構建一個maven項目"
點擊下面"OK"按鈕
2、填寫項目描述信息
3、輸入項目地址,並選擇用戶憑證
本文通過conding.net作為代碼管理平台,點擊"Add"添加自己賬號憑證(輸入coding.net平台登陸賬號密碼即可)。
4、配置maven編譯腳本
5、編寫rancher部署腳本
Dockerfile參數說明:FROM:選擇基礎鏡像包,該項目是用java語言開發需要jdk1.8所以選擇openjdk:8ADD:將bRule-deploy-1.0.0.tar.gz文件解壓並上傳到鏡像的brule目錄EXPOSE:容器內部啟動2002埠,根據自身項目填寫指定埠,多個埠填寫多行EXPOSE標簽ENTRYPOINT:容器啟動時執行的命令,執行多條命令使用&&拼接,命令行中帶&需要加上轉移符\&,使用tail -fn監聽應用日誌,以便容器日誌查看。
用於創建docker鏡像,就好比創建一個已經安裝並且配置好了應用程序的操作系統鏡像。
參數說明:192.168.100.21:5000:為本地docker鏡像伺服器地址brule:latest:應用名稱,根據自身項目名稱修改
利用上面創建好的操作系統鏡像啟動一個vmware虛擬機,創建k8s容器。
參數說明:brule:應用名稱,根據自身項目名稱修改,應用名稱規范?(.?)*image:剛才創建的docker鏡像containerPort:容器啟動埠,多個埠使用多行containerPort標簽聲明,埠限制在【30000-32000】
前面vmware虛擬機創建好後,怎麼能讓別人訪問?這個時候就需要創建一個網路服務,用於打通路由器與vmware本地虛擬機的網路。
參數說明:brule:應用名稱,根據自身項目名稱修改port:容器啟動埠nodePort:對外提供服務埠,外部機器訪問
將上面配置好的shell腳本復制到Post Steps -> 執行shell文本域中,並點擊"保存" -> "立即構建"即可部署。
1、進入剛才創建好的jenkins任務,點擊立即構建
2、點擊左下角構建任務,選擇"Console Output",查看構建日誌
3、登錄rancher管理平台,查看構建好的應用
基於J2EE項目的war包部署,前面操作都一致,只是shell部署腳本稍有不同,這里主要詳細說明rancher部署腳本。
Dockerfile參數說明:FROM:選擇基礎鏡像包,war統一使用tomcat容器部署,tomcat:8.5-jre8-slimADD:將operation.war文件解壓並上傳到鏡像的/usr/local/tomcat/webapps/目錄EXPOSE:容器內部啟動8080埠,根據自身項目填寫指定埠,多個埠填寫多行EXPOSE標簽
這里不需要配置ENTRYPOINT標簽,因為tomcat鏡像包中已經有了。
用於創建docker鏡像,就好比創建一個已經安裝並且配置好了應用程序的操作系統鏡像。
參數說明:192.168.100.21:5000:為本地docker鏡像伺服器地址operation:latest:應用名稱,根據自身項目名稱修改
利用上面創建好的操作系統鏡像啟動一個vmware虛擬機,創建k8s容器。
參數說明:operation:應用名稱,根據自身項目名稱修改image:剛才創建的docker鏡像containerPort:容器啟動埠,多個埠使用多行containerPort標簽聲明,埠限制在【30000-32000】
前面vmware虛擬機創建好後,怎麼能讓別人訪問?這個時候就需要創建一個網路服務,用於打通路由器與vmware本地虛擬機的網路。
參數說明:operation:應用名稱,根據自身項目名稱修改port:容器啟動埠nodePort:對外提供服務埠,外部機器訪問
將上面配置好的shell腳本復制到Post Steps -> 執行shell文本域中,並點擊"保存" -> "立即構建"即可部署。
基於webpack構建的VUE項目部署,前面操作都一致,只是shell部署腳本稍有不同,這里主要詳細說明rancher部署腳本。
Dockerfile參數說明:FROM:選擇基礎鏡像包,前端統一使用tomcat容器部署,tomcat:8.5-jre8-slimCOPY:將/dist目錄上傳到鏡像的/usr/local/tomcat/webapps/fastquery/目錄EXPOSE:容器內部啟動8080埠,根據自身項目填寫指定埠,多個埠填寫多行EXPOSE標簽
這里不需要配置ENTRYPOINT標簽,因為tomcat鏡像包中已經有了。
用於創建docker鏡像,就好比創建一個已經安裝並且配置好了應用程序的操作系統鏡像。
參數說明:192.168.100.21:5000:為本地docker鏡像伺服器地址operation:latest:應用名稱,根據自身項目名稱修改
利用上面創建好的操作系統鏡像啟動一個vmware虛擬機,創建k8s容器。
前面vmware虛擬機創建好後,怎麼能讓別人訪問?這個時候就需要創建一個網路服務,用於打通路由器與vmware本地虛擬機的網路。
參數說明:shutcm-fastquery-web:應用名稱,根據自身項目名稱修改port:容器啟動埠nodePort:對外提供服務埠,外部機器訪問
將上面配置好的shell腳本復制到Post Steps -> 執行shell文本域中,並點擊"保存" -> "立即構建"即可部署。
7. 如何實現企業應用部署自動化
目前市場上將機器人流程自動化定位為無代碼的用戶端計算機工具,由業務部門擁有並運行,實現日常工作任務的自動化並帶來可量化的經濟效益。它可以降低業務部門對傳統IT自動化方案的依賴,提高效率與准確性,降低運營風險,實現對高昂人力的重新部署,以重新聚焦於創造價值的活動。
但與此同時,行業分析公司Gartner在其2019年的報告中大膽預測,到2021年,將有近40%的企業因為使用不當、使用場景單一和無法擴展而後悔購買機器人軟體。如何打造可持續發展的企業流程自動化能力,解鎖虛擬勞動力所帶來的全部紅利,成為了企業需要認真思考的問題。
在實踐中,雖然有很多公司開始嘗試部署及應用機器人流程自動化,但往往僅在一開始取得了很好的效果,後來卻停滯不前,未能充分發揮虛擬勞動力的潛力。為什麼會有這樣的結果?是哪些因素阻礙了機器人流程自動化達到其預期的效果?
我們依據實施及使用機器人流程自動化的經驗和專業知識,總結出了成功實施企業級流程自動化的三大關鍵要素,即戰略、運營模式及人員。
企業需要從戰略層面考慮如何定位、利用及實施流程自動化
機器人流程自動化在應用操作層面具有良好的集成能力,其項目的實施極為迅捷並擁有相對友好的用戶界面,這使得很多企業將機器人流程自動化視為戰術性解決方案。例如,對舊系統之間的集成、填補其他企業應用程序留下的自動化空白並最終使員工從重復性任務中解脫出來。
機器人流程自動化的高投資回報率雖然可以通過戰術性的實施來實現,但如果企業能夠更有戰略性地使用並部署虛擬勞動力,則會享受到更多紅利。盡管速贏這個概念在流程自動化實施的過程中非常有效,但僅僅基於某個單項指標選擇要實施的流程是錯誤的。將虛擬勞動力提升至企業戰略層面意味著在選擇業務流程時,要考慮到協同效應,並且將根據必要的部署規模和時間來建立相應的業務案例。領導層的戰略支持對於企業打造可持續發展的機器人流程自動化能力至關重要。原因出自於以下四個方面:
1.構建有說服力的業務案例
理論上講,機器人通過7天×24小時的不間斷工作,可以完成大約五名全職員工的工作量(FTE),處理任務的速度平均比人工快25%,並且消除了流程步驟之間的空閑時間,尤其是需要由多人協同處理某項流程時。因此,通常情況下,業務案例是基於一個機器人至少完成三到四名全職員工的工作量所構建的。但是,僅通過戰術性部署機器人流程自動化並無法實現期望的結果。因為要實現這些目標,公司必須實施足夠數量的自動化流程。例如,當所有流程因為業務需要只能在白天完成時,企業只利用了能夠全天候工作的虛擬勞動力三分之一或一半的能力。
2.從簡單流程擴展到復雜流程
在機器人流程自動化實施的初期,企業一般會聚焦於相對簡單的流程,邏輯清晰,實施敏捷,加上足夠的交易量,可以很容易構建出相關的業務案例。但為了確保機器人流程自動化的可持續發展,企業必須盡快找到可實施相關技術的新領域和機會,其中可能包括更為復雜的流程。幸運的是,現在的虛擬勞動力已經變得更加智能。通過將機器人流程自動化融入到企業的整體數字化戰略之中,與企業所應用的其他前沿技術相結合(如文字識別、自然語言處理、機器學習、人工智慧等),將創造出更多應用虛擬勞動力的場景。
3.專注於企業流程的標准化及優化
我們在為企業實施流程自動化的時候會經常發現,現有流程的設計未必是最優狀態。流程的步驟及邏輯可能未必清晰,總部與分/子公司的流程未必統一。機器人流程自動化的實施是企業優化其流程的一個契機。雖然同時完成流程重建及自動化實施將花費更長的時間,但其所能帶來的結果將更為可觀。
4.確保機器人流程自動化融入企業IT戰略
從技術層面考慮,應用機器人流程自動化或將影響企業 ERP 部署的安排(延長ERP系統迭代間隔期),作為企業舊系統的新集成方式,並有可能將 IT 資源從日常的API 介面開發和維護中解放出來。預先了解機器人的特性,將幫助機器人流程自動化融入到企業的整體 IT 戰略規劃中。
創建可持續發展的運營模式,管理開發與實施風險及後續維護方案
在企業完成其虛擬勞動力的戰略規劃後,需建立一套可持續發展的運營模式(如數字化虛擬勞動力卓越中心),確保戰略的落地實施。在起步階段,企業應重點關注流程識別、自動化實施、運維管理及持續創新這四大職能,而非人員數量的多少。
打造可持續發展的企業流程自動化能力需要關注戰略、運營模式、人員三大要素,缺一不可。如果實施得當,虛擬勞動力的能力是巨大的,其產生的結果也是驚人的。然而,為了充分獲得虛擬勞動力所帶來的紅利,企業必須從戰略上實施機器人流程自動化,並對機器人的開發和持續運營的資源投入進行認真管理。戰略性實施需要有說服力的業務案例,從簡單的流程到復雜的流程,並將機器人流程自動化作為總體流程改進的一部分,將其融入企業的整體IT技術方案之中。
另外,企業不應忽視流程上線後對機器人的持續監督需求。數字化操作和人工操作一樣,都需要監督。一旦第一台機器人投入使用,就需要持續進行監督。監督涉及到管理工作隊列、日程安排、執行規則和支持,以及機器人的端到端可視性、機器人活動的實時儀錶板,以及實施自動化與控制和調度的職責分離。任何機器人流程自動化的實施都必須考慮到對這種新能力的要求及其與現有運營模式的整合。
*以上內容引用、整理與轉載自「安永EY」
8. 【譯】持續交付--自動化發布流程
標簽(空格分隔): 翻譯
原文地址: Continuous Delivery - Automating the Release Process
對於很多開發者來說,發布版本的那天都會陷入巨大的壓力。發布過程中總是有些風險,比如出現某些莫名其妙的問題,或者是產品里又被發現了某個bug。在我上一家公司,我們採取的是手動發布版本,過程基本都是人工去做的,因此,特別容易出現問題。在發布當天,DevOps(譯者:看網路是怎麼描述 DevOps 的職責)部門會載入二進制的運行文件,然後做用戶驗收測試。如果所有的測試都成功,軟體就會復制到伺服器上,進行冒煙測,一般來說,還會進行一次前一版本的用戶驗收測試。下面列舉出通常都會遇到的問題:
簡單的說,手動和沒有固定的發布流程絕不是好的選擇,發布那天總會承受很大的壓力。在我們的案子里,如果發布不是很頻繁,團隊也還不夠成熟時,這樣的方式是可以接受的。為了改進和自動化發布流程,有一種軟體工程的方法叫持續交付。
持續交付使得發布新的功能更快更穩定。同時可以讓開發者更及時的收到反饋 。我們開發一套軟體,可以在任何時候自動安全的部署到產品上。這就確保了發布里的每一次改動,都會發布到類似真實產品環境上,並且可以運行大量的自動化測試。按照 Martin Fowler 的理論,如果你做到以下的了,那麼就稱得上是持續交付:
持續交付,是持續集成(CI)的一個重要的先決條件。持續集成要求任何新的改動都可以快速的集成到主分支上, 整個項目一直都處於開發狀態中 。通常來說,它是這么工作的:一旦有改動發布到github上,就會重新編譯部署。整個應用都會按照所要求的配置去編棚晌和譯, 一系列單元以及集成測試都會重新運行 。如果測試失敗,團隊會停止工作直到修復了問題。沒有了持續集成,集成很容易就變成夢魘。當我啟動一個新的項目的時候,如何持續集成會是我考慮的首要事情。
我看到過很多的案例,整個團隊都不想關注那些出了問題的編譯。這通常都發生在持續集成過程已經變成了巨大多毛的怪獸的時候。這也有違持續集成的首要目標: 出了問題的版本決不能被忽視,團隊的首要任務就應該是去修它們 。為了確保這件事,持續集成的過程應該盡可能的短,好使,簡單。如果測試的運行會佔用過多的時間,不可靠也不能幫助定位問題,那麼團隊就會不去嘗試修改問題版本,甚至互相推諉責任,說是別的團隊弄壞了版本。
持續集成主要是在關注開發團隊。 持續集成里也可能會有手動去發布版本的過程 。在我們做過的案例里,也有手動的拷貝二進制文件和對應的配置文件到演示和生產環境里的。與之相反的是,持續交付會將整個發布流程自動化。為了達到這一目標,我們使用了一條流水線,這條流水線有非常清晰的階段和對應的過程。
一條持續謹汪交付的流水線是讓你的新版本發布出去的流程的集中體現。按照 Martin Fowler的理論:
一個典型的持續交付過程如下:
決定這條持續交付流水線成功與否的部分就是驗收測試,驗收測試位於這條流水線的較靠後的階段,也就是「更多靠摸索」的階段。他們確定軟體能滿足用戶的需求和指標。驗收測試不應暴露內部系統的細節,應該就像對待黑盒一樣對待。我們的驗收測試會由模擬一個真正的用戶會輸入的內容,接受並驗證系統的輸出並驗證這些輸出是否符合預期。
在持續交付的流水線上,從一個階段轉到下一個階段可以使手動,也可以是自動的。手動並不意味著把內容拷貝復制到下一個流程中。它只是意味著,操作人員需要標記一下,表示現在的階段已經完成,可以轉交到下一個階段了,而這個過程通常會需要手動的按一下按鈕。
持續交付的流水線能在確定了交付流程之後被定型下來。沒有所謂的標准答案:一個流程總會和另一個看上不太一樣。舉個例子,在一個有很多獨立組件的SOA項目里,我們覺得一個為所有的組件制定一個流程是最好的方案。而另一個項目要求給每一個組件都制定獨立的流程,而整合到一起之後的流程鏈盯,可以參考下圖。
實現一個好的持續交付流程是一個讓人沮喪的任務,但是一旦完成好了,會產生巨大的好處。在我看來,最好的方式就是仔細研究你的部署過程,理解所有的依賴關系,從一些比較小而且簡單的地方開始入手。
持續交付中,總需要有人最終去確定把產品部署到生產環境中。一個典型就是,發布的軟體發生了一些變動之後或者是在固定的日子。
而持續部署比持續交付則更進一步:每一次改變,只要通過了自動化測試就會自動的部署到生產環境。持續部署可能不適用於所有的項目,即使理論上聽上去很棒,但是我可以肯定,我目前還沒有在商業項目里嘗試過這種方式。Yassal Sundman的博客上有一副圖,是比較持續交付和持續部署的過程:
對於持續交付的工具我沒有特別的個人偏好。最近我開始在使用AWS的CodePipeline(和AWS的CodeDeply類似)去自動化AWS雲上的交付流程,我對此這個工具非常滿意。
9. Windows自動化部署(五) 軟體、系統補丁導入
上文寫到導入OS映像及分類導入驅動信息,這一章我們接上文繼續添加APP軟體包及Packages。在添加軟體包的時候要記得將軟體放到對應的軟體目錄中,方便添加,另一方面:我們在添加Applications之前,要在本地測試出軟體對應的靜默安裝方式或者查看官方軟體介紹等:
常用軟體靜默參數
一、軟體導入:
1.1、為應用程序建立文件夾,與之前新建文件夾方式相同:
1.2、輸入對應文件夾名稱:
1.3、摘要信息:
1.4、Next後等待文件夾創建完成。
1.5、選擇Application下新建文件目錄,滑鼠右鍵選擇New Application:
1.6、選項Application with source files,下一步:
1.7、指定版本、名稱和語言:
1.8、選擇應用程序存放目錄位置:
1.9、即將創建的目錄名稱:
2.0、應用程序執行安裝命令:
2.1、摘要信息:
2.2、單擊」Finish」完成Java應用程序的添加:
2.3、Java添加後顯示界面如下:
右鍵單擊新添加Application查看對應屬性如下:
註:
我們在本地可以通過下氏蔽一步下一步安裝java,同樣我們在Dos命令下安裝java。MDT部署軟體的功能與此類似:
附:靜默安裝Java方式方法:
Java 安裝是使森型用 Microsoft Window Installer (MSI) 2.0 技術構建的。MSI 包含對靜默或無人參與安裝的內置支持。命令行安裝簡介:
Java離線安裝程序命令具有以下語法:
<jre>.exe [/s] [INSTALLDIR=<驅動器>:<JRE_install_path>] [STATIC=1] [WEB_JAVA=0/1] [WEB_JAVA_SECURITY_LEVEL=VH/H/M/L]
其中
<jre>.exe 是適用於 Java 的單個可執行安裝程序。
/s(如果使用)表示靜默安裝
INSTALLDIR(如果使用)指定 JRE 的驅動器和路徑。
如果未指定 INSTALLDIR,則將安裝到 C:Program Filesjavajre(默認位置)。
STATIC=1(如果使用)指定靜態安裝。此選項適用於 6u10 和更高版本。有關詳細信息,請參閱靜態安裝。
WEB_JAVA=0(如果使用)禁止在瀏覽器中運行任何 Java 應用程序。
WEB_JAVA=1(默認值)允許在瀏覽器中運行 Java 應用程序。此欄位自 7u10 發行版起可用。有關詳細信息,請參閱設置 Java 客戶機的安全級別。
WEB_JAVA_SECURITY_LEVEL(如果使殲春州用):設置在瀏覽器中運行的未簽名 Java 應用程序的安全級別。此欄位的可能值為「V」(非常高)、「H」(高)、「M」(中,默認值)或「L」(低)
同理添加Office****:
指定對應命令,此處config.xml是單獨配置生成的,後續會盡快補上有關自動部署應答包生成方法:
二、系統補丁導入 :
1.1、右鍵要導入補丁的文件夾,選擇「Import OS Packages」:
1.2、補丁路徑,Next:
1.3、摘要信息:
1.4、導入完成:
1.5、添加完成後控制台顯示如下:
如果添加補丁包後系統部署總是報錯,建議各位將暫停這個補丁更新方式,直接在本地封裝WIM鏡像之前對系統進行補丁更新,這樣可以避免此類問題的出現。
到這里,整個導入工作都已完成,後續文章會為大家介紹有關Office 2013自動部署應答文件的生成以及通過Powershell創建文件目錄、添加對應OS、APP、Packages、Drivers 。希望大家多多關注,謝謝。
原文: http://home.51cto.com/bbs/get-user-threads?uid=6370734&page=6&per-page=8
10. 安全編排和自動化的好處:SOAR如何幫助改進事件響應
據全球保險公司Gallagher的數據,平均每小時有800起襲擊襲擊了76個英國議會。如此大規模的攻擊並不罕見,也不是什麼新鮮事。2013年,加州大學伯克利分校(UC Berkeley)的數據科學博客報道稱,美國海軍每小時遭遇11萬次網路攻擊。
想像一下,作為一個安全操作中心(SOC)的分析師,試圖管理這么多的警報。這就是安全性編排、自動化和響應(SOAR)的用武之地。通過將來自不同安全設備的警報關聯起來,自動化任務,並為事件處理提供劇本,將SOAR集成到您的SOC中,可以提高效率和有效性。
SOAR的最終目標是在面對成千上萬的安全警報時,提高SOC進程的效率並改善事件響應 。人員、流程和技術都有助於高效和有效的事件響應。然而,SOAR最終依賴於幾個組件來提供逐步的事件響應計劃。SOAR的三個主要部分是:
(1)安全編排是將來自不同的安全和網路工具的警報放入可操作的上下文中的過程,其中包含手動和/或自動處理警報的過程。
(2)安全自動化減少了人們處理重復性任務和警報的需要,這些任務和警報可以自動解決。
(3)事件響應是一組用於計劃和實施處理事件所需的步驟的過程和技術。
安全編排和自動化用於卸載低優先順序和重復的任務,允敏漏許您的SOC分析人員執行更高價值的工作,從而進一步改進事件響應。通過安全自動化和事件響應劇本,SOAR可以構建最少(如果有的話)人工干預的工作流。
那麼,SOAR如何使事件響應更加有效和高效呢?讓我們來看看一些主要的好處。
1)響應時間更快
安全編排將來自不同系統的多個相關警報( alerts )聚合為單個事件(incident)。 為了節省更多的時間,安全自動化使系統能夠在不需要人工干預的情況下響應警報。將上下文與文本數據結合起來,並將自動化應用到決策過程中,可以實現更快的警報處理過程。
2)優化威脅情報
威脅情報提供有用的信息,但往往是一棵樹倒了,沒有人聽到。 SOC分析人員經常要處理信息過載的問題。將威脅情報添加到這一組合中,可以收集到更多的信息進行分類。最好的SOAR平台可以獲取威脅情報,並自動將其與實時事件聯系起來 。這減輕了SOC分析人員的負擔,並為事件響應團隊提供了可立即採取行動的信息。
3)減少人工操作和標准化流程
安全自動化減輕了SOC分析人員單調、重復的任務,並將其包含在如何處理任何給定事件的整個流程中。一個好的SOAR平台會將這些任務合並到劇本中,從而制定出端到端的事件響應步驟。
4)簡化操作
飛漲的每一項因素都有助於簡化安全行動。安備拿弊全業務流程聚合來自各種來源的數據。與此同時,安全自動化可以通過使用自動化劇本輕松處理低優先順序警報和事件。事件響應將最熱門的猜測從事件處理中剝離出來,限制了網路攻擊的駐留時間和對業務的整體影響。
5)降低網路攻擊的影響
平均檢測時間(MTTD)和平均響應時間(MTTR)是影響網路攻擊對組織的影響的重要指標。檢測和響應攻擊所需的時間越長,所造成的損害就越大,對組織的影響也就越大。
SOAR 使MTTD和MTTR最小化。通過為每個事件提供上下文豐富的詳細信息,安全業務流程減少了MTTD,從而使分析人員能夠減少收集信息的時間,而將更多的時間用於調查警報。安全自動化通過實時自動響應警報和事件來減少MTTR。
6)簡易的技術和工具集成
安全編排的好處之一是能夠關聯來自各種產品和技術的警報。這遠遠超出了 SIEM的范疇。一個SOAR平台應該能夠與跨越各種安全技術的產品集成:
雲安全
數據豐富
電子郵件安全
終端安全
取證和惡意軟體分析
身份和訪問管理
IT和基礎設施
網路安全
SIEM和日誌管理
威脅情報
漏洞與風險管理
將這些產品集成到您的SOAR平台應該很容易。自助服務市場可以快速訪問特定產品的集成。從這里開始,集成就像單擊按鈕並將組件捕捉到劇本中一樣簡單。
7)降低成本
通過將SOAR平台集成到其業務模型中,一個典型的企業將會節省大量的成本。
90%的報告
80%的劇本創作
70%的警報處理
60%分析師培訓
30%的值班管理
8)自動報告和度量功能
自動化報告不僅使仿族工作變得更簡單,還消除了對手工生成的度量的需要。通過允許SOC工作人員按需提取報告(最好是單擊一次)或自動按時間表提取報告,企業可以獲得每個報告期間的可靠和及時的指標。為了進一步簡化這個過程,大多數SOAR工具都提供了報告模板和生成自定義報告的能力。
9)事件響應過程中的標准化溝通
事件處理和響應常常需要觸及SOC之外的地方,特別是對於重大事件。這意味著事件響應團隊可以包括SOC內部和外部的涉眾——這使得建立可靠的、可重復的信息流具有挑戰性。
為了緩解這一問題,企業通常會形成一個任務控制中心來處理優先順序最高的事件。一個好的SOAR平台將會有一個虛擬的戰備室功能,以確保關鍵的溝通是標准化的,以防止任何團隊成員,從PR到HR,從法務到高管,在事件響應過程中丟失關鍵信息。