10 Star 12 Fork 7

wei2011 / Dkit

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

#Dkit 自动部署工具.目前只支持linux+svn,可以管理svn仓库和服务器,方便的设置哪个svn分枝部署到哪台服务器上,并可以hook svn仓库,svn提交时自动化部署.

运行环境

  • 需要python3.3及以上python版本;
  • 必须安装到svn server同一台机器;
  • 启动的用户最好和启动svn server是同一用户。而且确保对每个库的hooks目录有读写权限,因为设置hook时要写东西到hooks目录里。

下载

  • 直接下载压缩包或通过git:

      git clone https://git.oschina.net/wei/Dkit.git

#安装

  • 通过virtualenv安装(推荐).比如我这里把创建的evn环境放到自己的home目录下:

      cd ~
      virtualenv -p python3 env3
      source ~/env3/bin/activate
      cd xx/xxx #跳回你下载的Dkit目录
      ./install.sh
  • 直接安装

      alias python=python3
      ./install.sh

如果一切顺利,安装完成后你会看到初始用户名和密码(admin 12345).

#运行

  • virtualenv安装后运行:

      source ~/env3/bin/activate
      python run.py
  • 直接安装后运行:

      python3 run.py

默认的端口是5002,可以通过http://你的服务器ip:5002访问,默认用户名:admin,密码:12345.如果希望后台运行请自己编辑start.sh启动脚本,如果你用了virtualenv,需要在里改一下自己的env路径.

#使用前需要做的配置

  • 1.你需要编辑一下目录下的post-commit.temp文件,设置一下LC_CTYPE变量和deploy.py路径.具体post-commit.temp里有注释;设置svn的hook时,将用这个文件覆盖svn的post-commit
  • 2.进入系统后,请第一时间到"系统管理"->"系统设置"对svn参数进行设置.

#需要注意的几点

  • 建议安装使用mysql数据库,默认用的sqlite和eventlet使用很容易出现死锁的情况:

      pip install pymysql

    然后编辑Dkit目录下的config.py,按下面修改mysql连接信息:

      SQLALCHEMY_DATABASE_URI='mysql+pymysql://username:password@host:port/dbname?charset=utf8'

    然后重新初始化数据库:

      python initdb.py

*启动Dkit的用户必须要和启动svnserve的用户一样,否则svn提交时,hook运行的脚本将没有读写Dkit/logs下日志文件的权限,导致无法自动部署。

#用到的其他开源项目

  • flask(以及flask的一些扩展,比如flask-sqlalchemy,flask-wtf等);
  • eventlet;
  • paramiko;
  • UI使用了bootstrap3+jeasyUI
The MIT License (MIT) Copyright (c) 2015 wei2011 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

部署管理工具.可以管理svn仓库和服务器,方便的设置哪个svn分枝部署到哪些服务器上,并可以给svn设置hook,实现代码提交自动部署. 展开 收起
Python
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/wei/Dkit.git
git@gitee.com:wei/Dkit.git
wei
Dkit
Dkit
master

搜索帮助