<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
RunDeck 是用 Java開發的自動化部署持續整合的工具應用,專案已開源。runDeck的產品屬性和jenkis類似。提供web介面和restapi來給使用者使用,Web介面主要提供給非開發人員使用,如專案組的測試和運維人員,而它提供的豐富的api使得開發可以很容易的融合到DevOps平臺體系中。同時runDeck提供了完整的許可權管理,開發,運維,測試可以在RunDeck中完成軟體交付的整個流程。
開源地址:https://github.com/rundeck/rundeck
官網地址:http://rundeck.org/
rundeck的自動化功能幫助你規範你的操作程式,設定存取控制,自動化功能特徵如下
rundeck提供工具來定義、構建、部署和管理自動化。這些自動化的過程在工作流程中定義。工作流作用於自動化過程中的各個任務。工作流執行失敗或者成功都會發出通知。當錯誤發生時,你可以選擇立即失敗,或者觸發特定的錯誤處理程式步驟。
rundeck工作流可以協調在本地或遠端伺服器的步驟。遠端伺服器是針對使用過濾器,查詢表示式匹配到屬性,和標籤的伺服器節點。
rundeck提高跨多個工具,系統的效率,並通過消除或跨越技術和組織流程結構部門。rundeck工作流可以執行在Windows和UNIX平臺,使用節點外掛可以將RunDeck擴充套件到新的平臺(包括網路裝置)。
rundeck通過外掛機制拓展功能。官方提供很多非常使用的外掛,當然你想開發符合自己公司特色的外掛以及webui也是非常的簡單
工作流可以授權其他使用者提供自助服務如運營團隊。rundeck提供細粒度的基於角色的存取控制策略安全。
rundeck提供了豐富的restapi可以和主流的DevOps元件整合,如jenkins等
提供web介面定義排程任務執行shell命令
作業排程是Rundeck的核心功能。使用場景如:自動排程任務,提供視覺化的介面檢視結構反饋,支援的排程特徵如:無代理、跨平臺(Windows需要外掛支援)、檔案傳輸、審計報告、等等
更多的使用場景詳情見官網。
RunDeck開發需要的環境包括:java、grials(工程自帶了)、IDEA、IDEA Lombok外掛、gradle
第一步:git clong https://github.com/rundeck/rundeck.git
第二步:用IDEA開啟專案,安裝Lombok外掛,使用gradle構建
RunDeck工程主要有核心模組,外掛模組,啟動器模組,app模組,我們二次開發主要關注外掛模組,和app模組就差不多了。
自己使用gradle構建,在rundeckrundeck-launcherbuildlibs會生成rundeck-launcher-2.10.5-SNAPSHOT.jar。
將jar包移到此目錄,執行java -jar rundeck-launcher-2.10.5.jar 服務便啟動了
服務啟動後,會在rundeck目錄生成如下相關目錄:
var
:存放遠端主機key資訊,如ssh的密碼,服務私鑰。儲存新建專案的紀錄檔資訊,生命週期資料等。儲存專案節點資源模型快取資訊,等tools
:存放專案依賴的jar包,相關指令集server
:儲存RunDeck設定資訊(使用者體系,資料庫連線)。RunDeckserver本身的紀錄檔資訊、專案後設資料庫資訊、webui專案資訊、web容器的依賴(jetty)projects
:儲存新建的專案資訊,包括專案節點資訊等libext
: 儲存外掛依賴jaretc
:儲存RunDeck使用的到的框架設定資訊,如紀錄檔框架log4j,以及指定其他所有設定的磁碟儲存路徑,如以上所示目錄,都可在etc中的組態檔指定預設的web埠為4440,所以開啟:http://localhost:4440,即可看到如下頁面
ps:注意我截圖的地址,yudian-pc:4440,是因為RunDeck啟動的時候預設獲取了計算機名稱設定了framework.server.hostname = yudian-PC,這會導致雖然我們用localhost可以存取到服務,但是提交表單跳轉的時候,都會被定向到yudian-pc:4440。解決方法如下:
framework.server.name = yudian-PC
framework.server.hostname = yudian-PC
framework.server.port = 4440
framework.server.url = http://yudian-PC:4440
RunDeck有很多的資料可以由使用者自己來設定,如上面的server.url埠等,當然很多的設定使用預設的就好了,不需要改動。其他的如資料庫,初始化密碼等還是可以改下的,RunDeck的資訊的儲存體系包括資料庫系統和檔案系統,其中資料庫預設使用的h2資料庫,當使用久資料一多效能就會下降了,當然,我們可以設定其他的支援jdbc的資料庫來儲存資料。
/server/config/realm.properties
/server/config/rundeck-config.properties,如
dataSource.url = jdbc:mysql://localhost:3306/rundeckdb?autoReconnect=true
dataSource.username = root
dataSource.password = sasa
dataSource.driverClassName=com.mysql.jdbc.Driver
/server/config/rundeck-config.properties,如
grails.mail.host=smtp.sina.com.cn
grails.mail.port=25
grails.mail.username=xxx
grails.mail.password=xxx
RunDeck使用過程中會涉及到五大模組概念,分別如Project,Nodes,Jobs,Commands,Activity,其他還有key倉庫,使用者許可權管理等等。
Project是最基礎的模組,Nodes,Jobs,Commands等都關聯了Project,下面我們從建立專案,到執行命名,走一個完整的流程範例。
輸入專案名稱(專案名稱好像不支援中文),專案描述,選好ssh許可權校驗的方式(私鑰 or password),提交
預設的節點設定資訊,儲存在RunDeck/projects/下的。這裡以專案名稱ca為例,開啟projects/ca/etc/resources.xm檔案,新增節點資訊
新增node節點:屬性如下
name="ca" description="newca server node" tags="" hostname="106.75.60.xxx" osArch="amd64" osFamily="unix" osName="Linux" osVersion="10.0" username="root"
回到文字控制檯,重新整理Nodes模組就會看到新增的節點資訊,如
入口從,右上角使用者標誌的左邊那個設定按鈕key storage進入,注意的我的url為http://yudian-pc:4440/menu/storage。建立好後在專案ssh屬性password中選中建立好的key
新增一個可執行的job,新增tail -f xxx.log用來檢視遠端伺服器輸出的紀錄檔資訊,操作如下,注意如下箭頭標註,可以指定篩選到的伺服器,這裡是ca,也可以設定命令執行失敗後的處理流程等等。
執行job後,會不斷地輸出目標節點伺服器的紀錄檔資訊,如
如下圖,還有使用者許可權控制,外掛管理,報表匯出等等功能,考慮篇幅這裡就不一一列舉了
文末結語RunDeck功能概念清晰,webui互動友好,細粒度的安全策略控制非常適合跨部門跨職能的協同作業,基於token機制的api很好的整合到DevOps平臺中,是DevOps上下文中不可多得的元件。
以上就是DevOps自動化元件RUNDECK開發部署使用說明的詳細內容,更多關於DevOps自動化元件RUNDECK開發的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45