/nocd

:surfer:NoCD,一个 Go 实现的便携持续交付系统。

Primary LanguageGoMIT LicenseMIT

NoCD 持续交付系统

Go Report Card Build Status

NoCD 是一个 Go 实现的轻便可控的持续交付系统。

界面预览

首页截图 服务器管理 项目管理
交付记录 管理中心 查看日志

功能特色

  • 服务器:可以添加多个部署服务器。
  • 项目:支持解析 Gogs、GitHub、Gitlab、BitBucket 的 WebHook
  • 通知:部署成功或失败经 Server酱 推送到您的微信
  • 交付记录:可以查看部署记录,用户可以停止部署中的流程
  • 管理面板:查看系统状态,管理用户,管理部署中的流程

部署指北

Docker

  1. 创建配置文件(如/data/nocd文件夹)

    nano /data/nocd/app.ini

    文件内容参考下面( web_listen = 0.0.0.0:8000 配置不要改)

  2. 运行NoCD

    docker run -d --name=nocd -p 8000:8000 -v /data/nocd/:/data/conf naiba/nocd
    

源码编译

  1. Clone 源代码

  2. 进入应用目录 cd nocd/cmd/web

  3. 打包资源文件并编译

    go get -u github.com/tmthrgd/go-bindata/go-bindata
    go-bindata resource/...
    go build
  4. conf/app.ini 创建配置文件

    [nocd]
    cookie_key_pair = example
    debug = true
    domain = cd.git.cm
    web_listen = 0.0.0.0:8000
    loc = Asia/Shanghai
    google_analysis = "NB-XXXXXX-1"
    [third_party]
    github_oauth2_client_id = example
    github_oauth2_client_secret = example
    sentry_dsn = "https://example:xx@example.io/"
  5. 运行

    ./web
  6. GitHub 设置回调:https://cd.git.cm/oauth2/callback

常见问题

  1. 为什么我的部署脚本总是执行失败 或者 根本没有执行?

    请检查您的 PATH 路径是否引入,建议提前 export 一下路径,自动部署的时候不会

    source .bash_profile

  2. 如何保持后台运行?

    可以使用 systemd 。 更推荐使用docker方式运行。

版权声明

FOSSA Status

Copy © 2017-2018 Naiba