{"id":19494055,"url":"https://github.com/khs1994-docker/ci","last_synced_at":"2025-04-25T20:31:31.837Z","repository":{"id":109731524,"uuid":"107631848","full_name":"khs1994-docker/ci","owner":"khs1994-docker","description":"Gogs( GitHub )+Drone+Docker Registry | 私有化的 CI/CD \u0026 DevOps 解决方案","archived":false,"fork":false,"pushed_at":"2024-11-23T01:45:38.000Z","size":199,"stargazers_count":36,"open_issues_count":6,"forks_count":9,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-04T03:11:53.940Z","etag":null,"topics":["ci","devops","drone","gogs"],"latest_commit_sha":null,"homepage":"https://drone.khs1994.com","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/khs1994-docker.png","metadata":{"files":{"readme":"README.TLS.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2017-10-20T04:22:20.000Z","updated_at":"2024-11-23T01:45:43.000Z","dependencies_parsed_at":"2024-02-10T06:19:35.686Z","dependency_job_id":"6ac4e5ae-586d-4bfa-9896-c2874435f146","html_url":"https://github.com/khs1994-docker/ci","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khs1994-docker%2Fci","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khs1994-docker%2Fci/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khs1994-docker%2Fci/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khs1994-docker%2Fci/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/khs1994-docker","download_url":"https://codeload.github.com/khs1994-docker/ci/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250890448,"owners_count":21503496,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ci","devops","drone","gogs"],"created_at":"2024-11-10T21:28:14.857Z","updated_at":"2025-04-25T20:31:31.510Z","avatar_url":"https://github.com/khs1994-docker.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 私有化 CI/CD 解决方案 (TLS)\n\n[![GitHub stars](https://img.shields.io/github/stars/khs1994-docker/ci.svg?style=social\u0026label=Stars)](https://github.com/khs1994-docker/ci) [![star](https://gitee.com/khs1994-docker/ci/badge/star.svg?theme=dark)](https://gitee.com/khs1994-docker/ci/stargazers)\n\n* [支持文档](docs)\n\n* [问题反馈](https://github.com/khs1994-docker/ci/issues)\n\n## 重要提示\n\n本项目基于 [Drone `2.x`](https://docs.drone.io/) 版本。\n\n## 微信订阅号\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"200\" src=\"https://user-images.githubusercontent.com/16733187/46847944-84a96b80-ce19-11e8-9f0c-ec84b2ac463e.jpg\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cstrong\u003e关注项目作者微信订阅号，接收项目最新动态\u003c/strong\u003e\u003c/p\u003e\n\n## 内部端口\n\n* `Gogs` **3000** **22**\n\n* `Drone` **8000**\n\n* `Docker Registry` **5000**\n\n## 准备\n\n* 域名\n\n* 公网 IP (推荐，但不是必须)\n\n* `*.CI_DOMAIN` 通配符 TLS 证书 （acme.sh 可以免费申请）或 `git.CI_DOMAIN` `drone.CI_DOMAIN` 网址的 TLS 证书。\n\n## 快速开始\n\n### 初始化\n\n首次使用本项目时，务必执行以下命令完成初始化。\n\n```bash\n$ ./ci\n```\n\n### 编辑 `.env` 文件\n\n* `CI_HOST` 为主机 IP (建议使用内网 IP, 例如 `192.168.199.100`)\n\n* `CI_DOMAIN` 为服务主域名（例如 `t.khs1994.com`）\n\n### 安全\n\n在 `.env` 文件中配置如下两个变量\n\n* `DRONE_USER_CREATE` Drone 启动时创建的用户\n* `DRONE_USER_FILTER` Drone 允许哪些用户注册，留空即表示允许所有用户注册，将会造成资源浪费，**强烈建议** 配置该选项\n\n### 使用 khs1994-docker/lnmp 的 MySQL Redis NGINX 服务(可选项)\n\n修改 `.env` 中的 `CI_INCLUDE` 变量，若 git 使用 Gogs 则只保留 `gogs` 即可，若使用 GitHub，请留空 `CI_INCLUDE=\"\"`。\n\n```bash\nCI_INCLUDE=\"gogs\"\n```\n\n并按如下内容修改 `.env` 文件\n\n```bash\n# CI_GIT_TYPE=gogs\n\nCI_GIT_TYPE=github\n```\n\n\u003e 启动之前必须先启动 khs1994-docker/lnmp\n\n```bash\n$ ./ci up-tls --config\n```\n\n检查 `docker-compose.yml` 配置是否正确，之后启动\n\n```bash\n$ ./ci up-tls\n```\n\n将生成的 NGINX 配置移入 `khs1994-docker/lnmp` 项目的 NGINX 配置目录\n\n`config/nginx/drone.conf` `config/nginx/gogs.conf`\n\n自行调整 SSL 相关配置。\n\n将 SSL 证书移入 khs1994-docker/lnmp 项目的 NGINX 配置目录的 `ssl` 文件夹内。\n\n注意 SSL 证书文件名必须与 NGINX 配置一致。\n\nNGINX 配置好之后，重启 `khs1994-docker/lnmp`\n\n```bash\n$ ./lnmp-docker restart nginx\n```\n\n### `443` 端口是否占用\n\n\u003e 若使用 khs1994-docker/lnmp 的 NGINX 服务，请忽略此节。\n\n根据 `443` 端口是否占用情况，使用下面的命令启动 CI `服务`。\n\n* 已占用-\u003e实体机运行 NGINX\n\n  ```bash\n  $ ./ci up-tls --use-external-nginx=/etc/nginx/conf.d\n  ```\n\n  重启 NGINX (`--use-external-nginx` 后边的路径为 NGINX 配置文件所在路径，必须为绝对路径)\n\n* 已占用-\u003e容器运行 NGINX\n\n  ```bash\n  $ ./ci up-tls --use-external-nginx=/etc/nginx/conf.d\n  ```\n\n  重启 NGINX 容器\n\n* 未占用\n\n  编辑 `.env` 文件\n\n  ```bash\n  CI_INCLUDE=\"gogs nginx redis mysql\"\n  ```\n\n  ```bash\n  $ ./ci up-tls [-d] [--reset]\n  ```\n\n## 访问测试\n\n假设 `CI_DOMAIN` 设置为 `t.khs1994.com`\n\n则 Drone 访问地址为 `https://drone.t.khs1994.com`,Gogs 访问地址为 `https://git.t.khs1994.com`\n\n## 错误排查\n\n进入 `logs` 文件夹内，查看日志文件排错。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhs1994-docker%2Fci","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkhs1994-docker%2Fci","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhs1994-docker%2Fci/lists"}