爱猫家

基于saltstack(salt-ssh)开发的somssh发布平台

前端使用bootstrap,针对公司java项目发布而开发
目前所在公司使用蓝鲸进行项目更新,而配置文件(不同区域服务器配置文件差异)、服务启停等都是手动处理,效率低下

此发布平台目前完成的功能有:
项目版本更新回滚:以工单形式创建任务,支持发布前从nginx摘除后端、腾讯云负载均衡摘除后端,支持svn取包或者本地上传
项目进程管理:进程启动、重启、停止
配置文件更新回滚:根据机器各自区域属性获取各自的差异配置实现差异化管理、本地对比文件修改
日志审计:查看发布、回滚记录、人员登录记录等

Dashboard

...

为避免对数据库进行多次save,影响性能,可通过bulk_create()来进行批量插入数据到数据库

objs = [
    Message(
        recipient_number=e.mobile,
        content=batch.content,
        sender=e.contact_owner,
        billee=batch.user,
        sender_name=batch.sender_name
    )
    for e in q
]
msg = Message.objects.bulk_create(objs...

Django的models非常简单易用
如下所示,即是插入一条新数据的常规用法

Class Foo(models.Model):
    name = models.CharField()
    address = models.TextField()

如果要新增一条记录有如下方法:

1) 新增记录
    Foo.objects.create(name='foo1',address='no1')
2) 新增或更新记录
    foo = Foo()
    foo.name = 'foo1'
    foo.address = &...

当有多个平台的时候,用Openldap来做用户管理还是比较方便

这里记录下基于django如何修改openldap用户密码

def CheckPasswd(pwd):
    '''定义密码检测'''
    pattern = re.compile('([^a-z0-9A-Z])+')
    pattern2 = re.compile('[a-z]+')
    if len(pwd) >= 8 and pattern.findall(pwd) and pattern2.findall(pwd):
...

icomments嵌套评论
github地址:https://github.com/qitan/icomments

嵌套评论基于https://github.com/evilbinary/myblog.git

修改了嵌套评论显示以及评论管理功能

安装

Step1:

git clone https://github.com/qitan/icomments.git

Step2:

编辑 icomments/models.py
找到 from blog.models import Post
更改为项目文章模型

Step3:

添加 icomments 到项目
编辑 settings.py,添...

20181012更新:代码优化、功能完善

一直想写个运维平台,无奈前端太差(虽然也不懂开发语言),所以没实现。。

还好有不少人共享了各种各样的平台,其中就有OMS运维平台

binbin开源的OMS平台 链接:https://github.com/binbin91/oms

所以自己拿来捣鼓,根据自己的需求,也算是写了点东西出来

  • 批量管理
  • 文件管理
  • 用户管理
  • 项目管理等

利用空闲时间,启用了全新模板,并不停的修改完善,想到什么就写些什么
放到github上也是希望可以给有需要的人一些帮助,也希望可以得到大家的提拔指点

gentelella: https://github.com/pu...

Django过滤器和标签功能很强大,而且支持自定义标签,很是方便;其中一种标签是Inclusion tags,即包含标签,个人感觉比较反人类的

包含标签(Inclusion tags)通过渲染其他的模板来展示内容,这类标签的用途在于一些相似的内容的展示,并且返回的内容是渲染其他模板得到的内容。
这里我将举个小小栗子

我们自定义一个包含标签,这个标签将输出一个列表,我们可以这样使用这个标签
{% task_l %}

输出大概是这样的

inclusion_tag

下面我们一步一步来完成

首先定义一个函数,这个函数返回所有任务列表

def task_l():
    task = TaskList.objects....

  • «
  • 1
  • »

Hot Posts

Latest Comments

water 08月09日
 《基于saltstack开发的SOMSSH发布平台》 中的评论

版主https://github.com/qitan/SOMS 上边不是最新的吗?运行和你这显示的不一样哇。

打酱油的二师兄 05月08日
 《基于saltstack开发的SOMSSH发布平台》 中的评论

您好,想请教一下 配置salt-master 我这里把soms解压到了/data/wwwroot下 这个目录就是github中的SOMS项目?如果是的话,为什么没有/soms/saltconfig/*.conf的文件?

jja 09月25日
 《基于django的saltstack自动化运维平台SOMS》 中的评论

"上传的Html页面通过js限制了类型" 那个txt不是没有限制吗?所有的文件上传都提示上传失败

zander 07月21日
 《Django嵌套评论-icomments》 中的评论

这个好呀。学习一下,我是新手,才学django,收藏大神您了。

franjia 07月19日
 《基于django的saltstack自动化运维平台SOMS》 中的评论

你好,请问远程管理部分,目标主机是分组后的多个机器的话,执行命令后的返回信息如下: post tgt_select lcb-u-assets arg pwd check_type panel-group 源代码 tgt_select=lcb-u-assets&arg=pwd&check_type=panel-group 响应返回是{},空,是什么原因呢?