Helper script for installing shinnytech cdk
Project description
get-cdk: CDK环境安装工具
本工具旨在简化CDK环境的安装,提供基于服务的隔离运行环境,支持并行服务部署。
安装
堡垒机
无需任何操作,get-cdk已经安装在堡垒机上,直接使用即可。
本地开发机
使用pip安装get_cdk
pip install get-cdk
Usage
$ get-cdk --help
usage: get-cdk [-h] [--cdk-tag CDK_TAG] [--cdk-branch CDK_BRANCH] [--cdk-commit CDK_COMMIT] --service SERVICE args
安装cdk
options:
-h, --help show this help message and exit
--cdk-tag CDK_TAG cdk的tag
--cdk-branch CDK_BRANCH
cdk的分支
--cdk-commit CDK_COMMIT
cdk的commit
--service SERVICE 要部署的服务名称, 跟服务所在的 github project 名称相同
args run_cdk的参数
开发流程说明
开发服务
在本地开发机上使用 get-cdk, get-cdk 生成的 venv 放置在 $CDK_VENV_DIR
目录下, cdk 运行需要的临时文件放置在 $CDK_DIR
目录下。
- 当没有设置
CDK_VENV_DIR
环境变量时默认值为~/.get_cdk/<service>/venv
- 当没有设置
CDK_DIR
环境变量时默认值为~/.get_cdk/<service>/config
其中 <service>
为服务名
get-cdk --service=otg-sim
# 不添加 run_cdk 参数时仅创建 venv 并打印其路径
默认使用最新版的 cdk, 可以通过
--cdk-branch
和--cdk-commit
参数指定 cdk 的分支和 commit 创建 venv
venv创建完成后,可以在pycharm中添加 <venv_path>/bin/python3
为python解释器,然后在pycharm中开发cdk和服务。
如需开发cdk本身可以直接clone cdk后attach到项目中。
在 venv 中可以直接运行 deploy.py 部署服务。
本地打包
需将 deploy.py 以及对应的依赖打成 sdist 包, 如使用了 airflow dag 可以和 deploy.py 打到一个 sdist 包中或分开独立打包.
在本地开发机上使用本地的打包结果部署服务:
- 需设置环境变量
CDK_LOCAL_DIST
为<service>=<dist_path>;
其中<service>
为服务名,<dist_path>
为本地打包结果的目录 - 在 venv 中运行
python3 -m cdk.run_cdk --service=<service> --tag=dummy-local
部署服务, 其中dummy-local
表示使用本地打包结果
ci 打包
ci 打包完成后可以在开发机上部署,部署命令如下:
get-cdk --service=otg-sim --cdk-branch=master --cdk-commit=196c3de --branch=master --commit=4b5d056 --action apply
# 添加 run_cdk 的参数会直接传递给 run_cdk 进行服务部署
也可以在堡垒机上执行以上命令部署.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file get_cdk-2024.8.0.tar.gz
.
File metadata
- Download URL: get_cdk-2024.8.0.tar.gz
- Upload date:
- Size: 5.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5934e14d7ab48701a7e3770c57a05462643e242a287a1f558cc10803352d90a |
|
MD5 | bf3e1825cdee6cfdfbf0cae1455bf2e6 |
|
BLAKE2b-256 | 6c7f800bb085087eab4a2f8c384a86919dfdf81bf6961230bc677f46e2db0597 |
File details
Details for the file get_cdk-2024.8.0-py3-none-any.whl
.
File metadata
- Download URL: get_cdk-2024.8.0-py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5656fcb931e9355842cbdc9fee915325deb10b69da8dde5a03d0f6d5b8c54fa0 |
|
MD5 | f02ea0b70b714c8ab2f67d6c78f87661 |
|
BLAKE2b-256 | a3d1c972ac61ca70b0b87739f66f389febe2516f6446657a8d3542498a57dcc6 |