# config-ops
[](https://opensource.org/licenses/Apache-2.0)[](https://github.com/apache/superset/actions)
一款 DevOps 配置工具:
- Nacos Yaml、Properties格式的配置文件变更。
- 使用 Liquibase 执行数据库版本脚本。
结合 [dumasd/jenkins-config-ops-plugin (github.com)](https://github.com/dumasd/jenkins-config-ops-plugin) 插件实现与Jenkins的集成。
## 快速开始
### 部署Liquibase
Liquibase安装文档: https://docs.liquibase.com/start/install/home.html
### 部署Config-Ops
#### 本地部署
下载 [Config-Ops Release](https://github.com/dumasd/config-ops/releases/latest/download/config-ops-linux.tar.gz) 文件解压,release 文件中包含 `config-ops` 可执行文件和配置文件样例 `config.yaml.sample`
```shell
# 从sample中拷贝出一个配置文件,修改配置文件中的配置
cp config.yaml.sample config.yaml
# 修改配置
vim config.yaml
# 启动服务
./startup.sh
```
#### Docker部署
config-ops镜像库: [wukaireign/config-ops general | Docker Hub](https://hub.docker.com/repository/docker/wukaireign/config-ops/general)
```shell
git clone https://github.com/dumasd/config-ops.git
cd config-ops
# 修改 docker-compose.yaml CONFIGOPS_CONFIG 部分
vim docker-compose.yaml
# docker-compose启动应用
docker-compose -f docker-compose.yaml up -d
```
## 本地开发
### 要求
- Python:3.9及以上版本
### 开发环境设置
```shell
# 拉取代码
git clone https://github.com/dumasd/config-ops.git
cd config-ops
# 设置python虚拟环境
python3 -m venv .venv
. .venv/bin/activate
# 安装依赖
pip3 install -r requirements.txt
# Run Tests
python3 -m pytest ./tests
# pyinstaller 打包成可执行的二进制
pyinstaller app.spec
# 发布到pipy
pip3 install --upgrade setuptools wheel twine
python3 setup.py sdist bdist_wheel
python3 -m twine upload dist/*
```
Raw data
{
"_id": null,
"home_page": "https://github.com/dumasd/config-ops",
"name": "configops",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": null,
"author": "Bruce Wu",
"author_email": "wukai213@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/7b/97/1672310e6bfc5688aa8a32e62b9a66e127f68411649734798748b68fc5e4/configops-0.1.5.tar.gz",
"platform": null,
"description": "# config-ops\n\n[](https://opensource.org/licenses/Apache-2.0)[](https://github.com/apache/superset/actions)\n\n\u4e00\u6b3e DevOps \u914d\u7f6e\u5de5\u5177\uff1a\n\n- Nacos Yaml\u3001Properties\u683c\u5f0f\u7684\u914d\u7f6e\u6587\u4ef6\u53d8\u66f4\u3002\n- \u4f7f\u7528 Liquibase \u6267\u884c\u6570\u636e\u5e93\u7248\u672c\u811a\u672c\u3002\n\n\u7ed3\u5408 [dumasd/jenkins-config-ops-plugin (github.com)](https://github.com/dumasd/jenkins-config-ops-plugin) \u63d2\u4ef6\u5b9e\u73b0\u4e0eJenkins\u7684\u96c6\u6210\u3002\n\n## \u5feb\u901f\u5f00\u59cb\n\n### \u90e8\u7f72Liquibase\n\nLiquibase\u5b89\u88c5\u6587\u6863: https://docs.liquibase.com/start/install/home.html\n\n### \u90e8\u7f72Config-Ops\n\n#### \u672c\u5730\u90e8\u7f72\n\n\u4e0b\u8f7d [Config-Ops Release](https://github.com/dumasd/config-ops/releases/latest/download/config-ops-linux.tar.gz) \u6587\u4ef6\u89e3\u538b\uff0crelease \u6587\u4ef6\u4e2d\u5305\u542b `config-ops` \u53ef\u6267\u884c\u6587\u4ef6\u548c\u914d\u7f6e\u6587\u4ef6\u6837\u4f8b `config.yaml.sample`\n\n```shell\n# \u4ecesample\u4e2d\u62f7\u8d1d\u51fa\u4e00\u4e2a\u914d\u7f6e\u6587\u4ef6\uff0c\u4fee\u6539\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684\u914d\u7f6e\ncp config.yaml.sample config.yaml\n\n# \u4fee\u6539\u914d\u7f6e\nvim config.yaml\n\n# \u542f\u52a8\u670d\u52a1\n./startup.sh\n\n```\n\n#### Docker\u90e8\u7f72\n\nconfig-ops\u955c\u50cf\u5e93\uff1a [wukaireign/config-ops general | Docker Hub](https://hub.docker.com/repository/docker/wukaireign/config-ops/general)\n\n```shell\ngit clone https://github.com/dumasd/config-ops.git\n\ncd config-ops\n\n# \u4fee\u6539 docker-compose.yaml CONFIGOPS_CONFIG \u90e8\u5206\nvim docker-compose.yaml\n\n# docker-compose\u542f\u52a8\u5e94\u7528\ndocker-compose -f docker-compose.yaml up -d\n```\n\n## \u672c\u5730\u5f00\u53d1\n\n### \u8981\u6c42\n\n- Python\uff1a3.9\u53ca\u4ee5\u4e0a\u7248\u672c\n\n### \u5f00\u53d1\u73af\u5883\u8bbe\u7f6e\n\n```shell\n# \u62c9\u53d6\u4ee3\u7801 \ngit clone https://github.com/dumasd/config-ops.git\ncd config-ops\n\n# \u8bbe\u7f6epython\u865a\u62df\u73af\u5883\npython3 -m venv .venv\n. .venv/bin/activate\n\n# \u5b89\u88c5\u4f9d\u8d56\npip3 install -r requirements.txt\n\n# Run Tests\npython3 -m pytest ./tests\n\n# pyinstaller \u6253\u5305\u6210\u53ef\u6267\u884c\u7684\u4e8c\u8fdb\u5236\npyinstaller app.spec \n\n# \u53d1\u5e03\u5230pipy\npip3 install --upgrade setuptools wheel twine\npython3 setup.py sdist bdist_wheel\npython3 -m twine upload dist/*\n\n\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "A devops config tool",
"version": "0.1.5",
"project_urls": {
"Homepage": "https://github.com/dumasd/config-ops"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0d2526f451cc4ced0cf6be0b93011f69f1a5755d7e5dc76e261101e046772e06",
"md5": "50cc797db36c53b732ada11e6249ea50",
"sha256": "7e3dd2a266feab92a496f62f11f3177737db4b647da37da06474ec446ec1ac88"
},
"downloads": -1,
"filename": "configops-0.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "50cc797db36c53b732ada11e6249ea50",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 25392,
"upload_time": "2024-09-30T01:49:43",
"upload_time_iso_8601": "2024-09-30T01:49:43.480155Z",
"url": "https://files.pythonhosted.org/packages/0d/25/26f451cc4ced0cf6be0b93011f69f1a5755d7e5dc76e261101e046772e06/configops-0.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7b971672310e6bfc5688aa8a32e62b9a66e127f68411649734798748b68fc5e4",
"md5": "d27dbaf42c970e62f0e64b9d721d0902",
"sha256": "415bb29732f1329d4621b0e04eed7297f28c3f407d240c0accfb3716889d9c4c"
},
"downloads": -1,
"filename": "configops-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "d27dbaf42c970e62f0e64b9d721d0902",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 23198,
"upload_time": "2024-09-30T01:49:45",
"upload_time_iso_8601": "2024-09-30T01:49:45.355598Z",
"url": "https://files.pythonhosted.org/packages/7b/97/1672310e6bfc5688aa8a32e62b9a66e127f68411649734798748b68fc5e4/configops-0.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-30 01:49:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dumasd",
"github_project": "config-ops",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "configops"
}