iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >DevOps自动化组件RUNDECK开发部署使用说明
  • 160
分享到

DevOps自动化组件RUNDECK开发部署使用说明

2024-04-02 19:04:59 160人浏览 安东尼
摘要

目录前言RunDeck的使用场景(一).标准流程自动化1.自定义工作流2.端到端的业务流程在本地或远程服务器3.跨平台4.可扩展5.安全访问控制6.和主流的devops组件集成(二)

前言

RunDeck 是用 Java开发的自动化部署持续集成的工具应用,项目开源。runDeck的产品属性和jenkis类似。提供WEB界面和restapi来给用户使用,Web界面主要提供给非开发人员使用,如项目组的测试运维人员,而它提供的丰富的api使得开发可以很容易的融合到DevOps平台体系中。同时runDeck提供了完整的权限管理,开发,运维,测试可以在RunDeck中完成软件交付的整个流程。

开源地址:https://GitHub.com/rundeck/rundeck

官网地址:Http://rundeck.org/

RunDeck的使用场景

(一).标准流程自动化

rundeck的自动化功能帮助你规范你的操作程序,设置访问控制,自动化功能特征如下

1.自定义工作流

rundeck提供工具来定义、构建、部署和管理自动化。这些自动化的过程在工作流程中定义。工作流作用于自动化过程中的各个任务。工作流运行失败或者成功都会发出通知。当错误发生时,你可以选择立即失败,或者触发特定的错误处理程序步骤。

2.端到端的业务流程在本地或远程服务器

rundeck工作流可以协调在本地或远程服务器的步骤。远程服务器是针对使用过滤器,查询表达式匹配到属性,和标签的服务器节点。

3.跨平台

rundeck提高跨多个工具,系统的效率,并通过消除或跨越技术和组织流程结构部门。rundeck工作流可以执行在windows和UNIX平台,使用节点插件可以将RunDeck扩展到新的平台(包括网络设备)。

4.可扩展

rundeck通过插件机制拓展功能。官方提供很多非常使用的插件,当然你想开发符合自己公司特色的插件以及webui也是非常的简单

5.安全访问控制

工作流可以授权其他用户提供自助服务如运营团队。rundeck提供细粒度的基于角色的访问控制策略安全。

6.和主流的DevOps组件集成

rundeck提供了丰富的restapi可以和主流的DevOps组件集成,如jenkins

(二)作业调度

提供web界面定义调度任务执行shell命令

作业调度是Rundeck的核心功能。使用场景如:自动调度任务,提供可视化的界面查看结构反馈,支持的调度特征如:无代理、跨平台(Windows需要插件支持)、文件传输、审计报告、等等

更多的使用场景详情见官网。

使用案例分析

  • John D'Esposito Implements ChatOps for Financial Services

开发部署服务

(1)如何二次开发RunDeck

RunDeck开发需要的环境包括:java、grials(工程自带了)、idea、IDEA Lombok插件、gradle

第一步:git clong https://github.com/rundeck/rundeck.git 

第二步:用IDEA打开项目,安装Lombok插件,使用gradle构建

RunDeck工程主要有核心模块,插件模块,启动器模块,app模块,我们二次开发主要关注插件模块,和app模块就差不多了。

(2)怎么部署RunDeck环境

1.获得部署jar

自己使用gradle构建,在rundeck\rundeck-launcher\build\libs会生成rundeck-launcher-2.10.5-SNAPSHOT.jar。

2.新建rundeck目录

将jar包移到此目录,执行java -jar rundeck-launcher-2.10.5.jar 服务便启动了

服务启动后,会在rundeck目录生成如下相关目录:

  • var:存放远程主机key信息,如ssh的密码,服务私钥。保存新建项目的日志信息,生命周期数据等。存储项目节点资源模型缓存信息,等
  • tools:存放项目依赖的jar包,相关指令集
  • server:存储RunDeck配置信息(用户体系,数据库连接)。RunDeckserver本身的日志信息、项目元数据库信息、webui项目信息、web容器的依赖(jetty)
  • projects:存储新建的项目信息,包括项目节点信息等
  • libext: 存储插件依赖jar
  • etc:存储RunDeck使用的到的框架配置信息,如日志框架log4j,以及指定其他所有配置的磁盘存储路径,如以上所示目录,都可在etc中的配置文件指定

3.访问RunDeck服务

默认的web端口为4440,所以打开:http://localhost:4440,即可看到如下页面

ps:注意我截图的地址,yudian-pc:4440,是因为RunDeck启动的时候默认获取了计算机名称设置了framework.server.hostname = yudian-PC,这会导致虽然我们用localhost可以访问到服务,但是提交表单跳转的时候,都会被定向到yudian-pc:4440。解决方法如下:

  • 1.设置你本机的host,如,设置yudian-pc定向到localhost。
  • 2.修改配置文件/etc/framework.properties,自己指定如下的配置文件

framework.server.name = yudian-PC
framework.server.hostname = yudian-PC
framework.server.port = 4440
framework.server.url = http://yudian-PC:4440

4.用户指定的配置?

RunDeck有很多的数据可以由用户自己来配置,如上面的server.url端口等,当然很多的配置使用默认的就好了,不需要改动。其他的如数据库,初始化密码等还是可以改下的,RunDeck的信息的存储体系包括数据库系统和文件系统,其中数据库默认使用的h2数据库,当使用久数据一多性能就会下降了,当然,我们可以配置其他的支持jdbc的数据库来存储数据。

1.修改默认的用户名密码:

/server/config/realm.properties

2.修改数据库连接:

/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 

3.添加邮箱通知配置:

/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的使用

RunDeck使用过程中会涉及到五大模块概念,分别如Project,nodes,Jobs,Commands,Activity,其他还有key仓库,用户权限管理等等。

Project是最基础的模块,Nodes,Jobs,Commands等都关联了Project,下面我们从创建项目,到执行命名,走一个完整的流程实例。

 (1) 创建Project

输入项目名称(项目名称好像不支持中文),项目描述,选好ssh权限校验的方式(私钥 or password),提交

(2)添加节点信息

默认的节点配置信息,存储在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模块就会看到新增的节点信息,如

(3)新增用于节点服务器权限验证的key

入口从,右上角用户标志的左边那个配置按钮key storage进入,注意的我的url为http://yudian-pc:4440/menu/storage。创建好后在项目ssh属性password中选中创建好的key

(4)新增job,添加查看日志的命令,在ca节点执行

新增一个可执行的job,添加tail -f xxx.log用来查看远程服务器输出的日志信息,操作如下,注意如下箭头标注,可以指定筛选到的服务器,这里是ca,也可以配置命令执行失败后的处理流程等等。

执行job后,会不断地输出目标节点服务器的日志信息,如

(5)Activity中查看历史执行记录

(6)其他相关使用

如下图,还有用户权限控制,插件管理,报表导出等等功能,考虑篇幅这里就不一一列举了

文末结语RunDeck功能概念清晰,webui交互友好,细粒度的安全策略控制非常适合跨部门跨职能的协同作业,基于token机制的api很好的集成到DevOps平台中,是DevOps上下文中不可多得的组件。

以上就是DevOps自动化组件RUNDECK开发部署使用说明的详细内容,更多关于DevOps自动化组件RUNDECK开发的资料请关注编程网其它相关文章!

--结束END--

本文标题: DevOps自动化组件RUNDECK开发部署使用说明

本文链接: https://www.lsjlt.com/news/140987.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • DevOps自动化组件RUNDECK开发部署使用说明
    目录前言RunDeck的使用场景(一).标准流程自动化1.自定义工作流2.端到端的业务流程在本地或远程服务器3.跨平台4.可扩展5.安全访问控制6.和主流的DevOps组件集成(二)...
    99+
    2024-04-02
  • DevOps自动化组件RUNDECK开发部署使用的方法
    这篇文章主要介绍“DevOps自动化组件RUNDECK开发部署使用的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“DevOps自动化组件RUNDECK开发部署使用的方法”文章能帮助大家解决问题。...
    99+
    2023-06-29
  • 使用DevOps开源利器开发部署Hygieia平台
    目录Hygieia是什么?Hygieia架构图Hygieia开发用到技术栈Hygieia项目运行部署启动api模块 启动UI模块启动插件模块测试gitlib插件文末结语Hy...
    99+
    2024-04-02
  • 如何使用DevOps开源利器开发部署Hygieia平台
    这篇“如何使用DevOps开源利器开发部署Hygieia平台”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何使用DevOp...
    99+
    2023-06-29
  • SpringBoot项目部署在weblogic中间件的使用说明
    这篇文章主要介绍“SpringBoot项目部署在weblogic中间件的使用说明”,在日常操作中,相信很多人在SpringBoot项目部署在weblogic中间件的使用说明问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-06-20
  • maven实现docker自动化部署插件的使用
    构建开发项目 首先打开我们的IDEA构建一个我们的开发项目,配置如下: 接着打开我们的pom.xml修改build的配置,修改以后的代码如下: <build> ...
    99+
    2024-04-02
  • Vue动态组件component的深度使用说明
    目录背景介绍组件封装Vue动态组件改造组件Vue动态组件的理解什么是动态组件背景介绍 最近在封装一些基于Vue+ElementUI的组件,将一些实际项目中常用的,有一定规律的业务进行...
    99+
    2024-04-02
  • idea使用docker插件实现一键自动化部署
    目录环境:一、 docker开启远程连接访问安装配置idea的docker插件创建项目,并配置一 、 创建项目二、 配置项目maven打包,生成镜像创建容器,项目部署到docker修...
    99+
    2024-04-02
  • 如何使用 Jenkins 自动化 PHP 云端部署?
    通过 jenkins 自动化 php 云端部署,您可以:安装 php 插件并创建新的管道作业。定义构建和部署阶段,包括安装依赖项、运行测试和条件性部署代码。将构建和部署过程自动化,提高代...
    99+
    2024-05-06
    php jenkins laravel git composer
  • Linux下如何使用jenkins进行自动化部署
    这篇文章主要介绍Linux下如何使用jenkins进行自动化部署,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Jenkins是用Java语言编写的主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽...
    99+
    2023-06-28
  • Maven Web项目怎么使用Cargo插件实现自动化部署
    这篇文章主要讲解了“Maven Web项目怎么使用Cargo插件实现自动化部署”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Maven Web项目怎么使用Cargo插件实...
    99+
    2023-07-05
  • PHP CI/CD 与自动化部署中构建和部署工具的使用
    php ci/cd 中构建和部署工具的使用有助于提升开发和部署效率,主要使用以下工具:构建工具:docker(构建一致的环境)、composer(管理依赖项)部署工具:jenkins(功...
    99+
    2024-05-09
    构建工具 部署工具 docker composer apache
  • 怎么使用Jenkins和Git来实现自动化部署
    这篇文章主要介绍“怎么使用Jenkins和Git来实现自动化部署”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Jenkins和Git来实现自动化部署”文章能帮助大家解决问题。一、为什么需要自...
    99+
    2023-07-05
  • UEFI开发实战用户交互界面使用说明VFR文件
    目录1. 综述2. 作用3. 语法3.1 注释3.2 预定义3.3 数据结构3.4 Forms相关表达式总览3.4.1 formset3.4.2 formset list3.5 Fo...
    99+
    2024-04-02
  • 使用Gitee自动化部署python脚本的示例分析
    这篇文章将为大家详细讲解有关使用Gitee自动化部署python脚本的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、前期准备1.1 安装环境安装python32、打开命令行安装selenium...
    99+
    2023-06-15
  • UEFI开发实战用户交互界面使用说明UNI文件
    目录综述作用语法基本定义语法说明UNI文件的使用综述 UEFI用户交互界面的实现涉及到多种不同类型的文件,这里要讲的是UNI文件,它也是其中最简单的一种。本文主要参考自《edk-ii...
    99+
    2024-04-02
  • 使用Gitee自动化部署python脚本的详细过程
    目录一、前期准备1.1 安装环境二、python代码2.1 源码2.2 注意事项一、前期准备 1.1 安装环境 1、安装python3 2、打开命令行安装selenium pip...
    99+
    2024-04-02
  • Maven Web项目使用Cargo插件实现自动化部署的详细步骤
    目录Maven实现Web项目部署到本地Tomcat实现Web项目远程部署到TomcatMaven 实现Web项目部署到本地Tomcat 下面介绍基于Maven使用cargo插件实现的...
    99+
    2023-02-21
    Cargo实现自动化部署 Maven Web项目自动化部署
  • 详解如何使用Jenkins和Git来实现自动化部署
    Jenkins是一款开源的自动化部署工具,它可以通过配置来自动化构建、测试、部署代码等一系列操作。而Git则是一种流行的版本控制工具,能够管理代码的历史变更记录。在软件开发领域中,Jenkins和Git已经成为了必不可少的工具。本文将介绍如...
    99+
    2023-10-22
  • 利用Python实现自动化监控文件夹完成服务部署
    目录1. 准备2. 实战一下3. 总结大家好,我是安果! 最近在部署前端项目的时候,需要先将前端项目压缩包通过堡垒机上传到应用服务器的 /tmp 目录下,然后进入应用服务器中,使用 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作