NoCD is a lightweight and controllable continuous delivery system implemented by Go.
- 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
-
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) -
Run NoCD
docker run -d --name=nocd -p 8000:8000 -v /data/nocd/:/data/conf ghcr.io/naiba/nocd:latest
-
Clone source code
-
Enter the application directory
cd nocd/cmd/web
-
Compile the binary
go build
-
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
-
Run
./web
-
Set the callback in
GitHub
:http(s)://your_domain_name/oauth2/callback
-
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
. -
How to keep running in the background?
You can use
systemd
. It is more recommended to run in docker mode.
MIT