Skip to content

Latest commit

 

History

History
92 lines (62 loc) · 4.4 KB

README_en-US.md

File metadata and controls

92 lines (62 loc) · 4.4 KB

NoCD Continuous Delivery System

Build Status

NoCD is a lightweight and controllable continuous delivery system implemented by Go.

Preview

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

Features

  • Multi Language support: English, Chinese (PR is welcome)
  • Server: Multiple deployment servers can be added
  • Project: Support parsing Webhooks of various popular Git hosting platforms
  • Notification: Flexible custom Webhook
  • Delivery record: You can view the deployment record, and the user can stop the deployment process
  • Management panel: View system status, manage users, and manage deployment processes

Installation Guide

Docker

  1. Create a configuration file (eg /data/nocd folder)

    nano /data/nocd/app.ini

    Refer to the following for the content of the file (web_listen = 0.0.0.0:8000 configuration do not change)

  2. Run NoCD

    docker run -d --name=nocd -p 8000:8000 -v /data/nocd/:/data/conf ghcr.io/naiba/nocd:latest

Source code compilation

  1. Clone source code

  2. Enter the application directory cd nocd/cmd/web

  3. Compile the binary

    go build
  4. Create a configuration file in conf/app.ini

    [nocd]
    cookie_key_pair = i_love_NoCD
    debug = true
    domain = your_domain_name # or ip:port
    web_listen = 0.0.0.0:8000
    loc = Asia/Shanghai
    [third_party]
    github_oauth2_client_id = example
    github_oauth2_client_secret = example
    google_analysis = "NB-XXXXXX-1" # optional
    sentry_dsn = "https://example:xx@example.io/project_id" # optional
  5. Run

    ./web
  6. Set the callback in GitHub: http(s)://your_domain_name/oauth2/callback

FAQs

  1. Why does my deployment script always fail to execute or not executed at all?

    Please check whether your PATH path is imported, it is recommended to export the path in advance, it will not be automatically deployed

    source .bash_profile.

  2. How to keep running in the background?

    You can use systemd. It is more recommended to run in docker mode.

License

MIT