与rundeck集成的charlesbot插件

charlesbot-rundeck的Python项目详细描述


Travis CICode CoverageSoftware License

与rundeck集成的Charlesbot插件!

这是如何工作的

此插件添加以下!help目标:

!lock status - Prints the status of the Rundeck deployment lock
!lock acquire - Acquires the Rundeck deployment lock (only available to Slack admins)
!lock release - Releases the Rundeck deployment lock (only available to Slack admins)

!lock命令旨在使人们能够快速地 有效地禁用(或启用)单个Rundeck作业。这很有用 在排除生产问题时,如果您不希望 部署出动,火上浇油。

https://raw.githubusercontent.com/marvinpinto/charlesbot-rundeck/master/images/rundeck-lock.png

安装

pip install charlesbot-rundeck

关于如何运行charlesbot的说明在https://www.charlesbot.org/docs/installation.html结束。

配置

在charlesbotconfig.yaml中,通过添加以下内容启用此插件 main部分的条目:

main:enabled_plugins:-'charlesbot_rundeck.rundeck.Rundeck'

创建一个rundeck节,看起来类似于:

rundeck:token:'XXXX'# Rundeck tokenurl:'http://my.rundeck.test:4440'# Rundeck base URL# If you would like to set this channel's topic to something relevant# whenever Rundeck jobs are locked, set this value. Otherwise you can omit# it completely.deployment_status_channel:'charlesbot-rundeck-test-channel'# project: project name# name: job name# friendly_name: friendly display namelock_jobs:-project:'test-project'name:'deploy-website'friendly_name:'deploywebsite'-project:'test-project'name:'deploy-app'friendly_name:'deployapp'

rundeck acl策略

确保您有一个apitoken.aclpolicy文件,看起来像:

description:API project level access controlcontext:project:'.*'# all projectsfor:# ...job:-allow:'*'# ...by:group:api_token_group

实际上,您需要赋予api_token_group启用和 禁用所有项目中所有作业的执行(更多details

注释

rundeck 2.6.2引入了启用或禁用passive模式的功能 以编程方式使用system/executionsendpoint。此终结点 不幸的是,这个用例不起作用,因为它禁用了all 运行甲板作业执行。这个插件更适合那些 而是禁用单个作业执行。

开发

至少,您需要python 3.4.3,一个功能性的Docker环境, 还有一个Slack bot token开始。我强烈建议你读 charlesbot docs来了解这一切是如何结合在一起的。

创建一个本地development.yaml文件,如下所示。

main:slackbot_token:'xoxb-...'enabled_plugins:-'charlesbot_rundeck.rundeck.Rundeck'rundeck:token:'baiY8aw4Ieng0aQuoo'url:'http://my.rundeck.test:4440'deployment_status_channel:'charlesbot-rundeck-test-channel'lock_jobs:-project:'test-project'name:'deploy-website'friendly_name:'deploywebsite'-project:'test-project'name:'deploy-app'friendly_name:'deployapp'

将以下条目添加到/etc/hosts文件中。

172.17.0.1 my.rundeck.test

启动本地rundeck docker实例。

make rundeck-server

在rundeck实例启动并运行之后,使用一些示例对其进行播种 项目/作业数据。

make rundeck-server-bootstrap

在所有这些就绪之后,您应该准备好启动本地charlesbot实例!

make run

许可证

请参阅LICENSE.txt文件以了解许可证权限和限制(mit)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java有没有办法从命令行指定Ant使用哪个JVM?   java为什么与UTC偏移相同的时区显示不同的时间?   java通过I/O流接收一定数量的字节   替换Java中的字符串以获取所有变体   java相等运算符,奇数结果?   java不同求和问题贪婪算法   如何使用List、ArrayList和/和Array在Java中创建二维数组   java根据某些条件选择数据类型   无法在SpringJavaBean中注入模拟?   java试图拒绝ArrayList类中的负值   JAXB从XSD生成的类中的java错误