logo
91
37
WeChat Login

Start-Custom-Environment

Auth cnb Eryajf HitCount star fork Eryajf Blog Eryajf WeChat Eryajf Awesome Stars

🎭 基于云原生构建启动自定义云原生开发环境

🔔 可直接 fork 本仓库,即刻拥有基于云原生构建启动自定义云原生开发环境的功能!

🥳 欢迎关注我的其他项目:

项目简介
images🧰 提供CNB基础开发构建环境镜像,通过构建按钮指定构建,优雅且舒服
qifei🛫 快速拉起一个基础环境,直接起飞。
awesome-cnb🤩 记录CNB中那些优秀的仓库
hubproxy🦄 零帧起手,一键启动,提供 Docker 镜像加速、GitHub 加速、下载离线镜像等功能
fileUpDown📦 临时文件中转站,像快递站那样,临时存取
cnb-manager🍉 cnb管理器,一个uTools插件。
start-custom-environment🎭 基于云原生构建启动自定义云原生开发环境

ℹ️ 项目简介

本项目为基于云原生构建启动自定义云原生开发环境的插件,通过简单配置,即可实现对应功能。

效果如下图:

🗣️ 用法介绍

如果你想自定义选项参数列表,可参考如下说明。当前仓库已配置支持,通过两个配置文件来定义这个功能。

  1. 定义 .cnb/web_trigger.yml

参看当前仓库的: web_trigger.yml

branch:
  - reg: ".*"  # 匹配所有分支
    buttons:
      - name: 启动自定义开发环境
        description: 选择 CPU 核数和开发环境镜像
        event: web_trigger_start_custom_environment
        inputs:
          cpu_cores:
            name: CPU 核数
            description: 选择所需的 CPU 核数
            type: select
            required: true
            default: 4
            options:
              - name: 1 
                value: 1
              - name: 2 
                value: 2
              - name: 4 
                value: 4
              - name: 8 
                value: 8
              - name: 16 
                value: 16
              - name: 32 
                value: 32
              - name: 64 
                value: 64
          image_select:
            name: 镜像选择
            description: 选择预定义的开发环境镜像
            type: select
            required: true
            default: cnbcool/default-dev-env
            options:
              - name: CNB 官方默认远程开发环境
                value: cnbcool/default-dev-env
              - name: 大佬御用 Go-1.24+Node-18 开发环境
                value: docker.cnb.cool/znb/images/debian:all
              - name: 大佬御用 Go-1.25+Node-22 开发环境
                value: docker.cnb.cool/znb/images/debian:new
              - name: CNB 官方提供 Python3 开发环境
                value: docker.cnb.cool/examples/language/python-3
              - name: CNB 官方提供 PHP-8.4 开发环境
                value: docker.cnb.cool/examples/language/php-8.4
              - name: CNB 官方提供 CUDA-12.4 开发环境
                value: docker.cnb.cool/examples/language/cuda-12.4
              - name: CNB 官方提供 dotnet-9.0 开发环境
                value: docker.cnb.cool/examples/language/dotnet-9.0
              - name: CNB 官方提供 Java-8 开发环境
                value: docker.cnb.cool/examples/language/java-8
              - name: CNB 官方提供 Go-1.24 开发环境
                value: docker.cnb.cool/examples/language/golang-1.24
              - name: CNB 官方提供 Rust-1.87 开发环境
                value: docker.cnb.cool/examples/language/rust-1.87
              - name: CNB 官方提供 Node-22 开发环境
                value: docker.cnb.cool/examples/language/node-22
          custom_image_url:
            name: 自定义镜像地址
            description: 输入自定义镜像地址,优先级高于下拉选择镜像(可选)
            type: input
            required: false

其中的常用镜像列表,可根据自己的喜好自定义。

  1. 定义按钮触发对应任务

参看当前仓库的: start-custom-environment.yml

内容如下:

main:
  web_trigger_start_custom_environment:
    - services:
        - docker
      stages:
        - name: print envs
          script: |
            echo "CPU: ${cpu_cores}"
            echo "Select Image: ${image_select}"
            echo "Input Image: ${custom_image_url}"
        - name: start custom environment
          if: |
            [ "$custom_image_url" != "" ]
          image: docker.cnb.cool/znb/start-custom-environment
          settings:
            stype: "custom"
            cpu: "${cpu_cores}"
            image: "${custom_image_url}"
        - name: start custom environment
          if: |
            [ "$custom_image_url" == "" ]
          image: docker.cnb.cool/znb/start-custom-environment
          settings:
            stype: "custom"
            cpu: "${cpu_cores}"
            image: "${image_select}"

除了支持下拉选择镜像之外,还支持输入自定义镜像地址,优先级高于下拉选择镜像。

  1. 在 .cnb.yml 中引用如上流水线文件即可实现完美且优雅的自定义云原生开发环境。

环境启动成功后:可点击右上角头像 --> 点击我的云原生开发 列表中查看对应的环境登陆地址等信息。

📝 one more thing

如上自定义开发环境的功能,在 cnb-manager 中已经实现,你可以通过界面化的操作来启动自定义开发环境。

同时最新版本还支持了云开发环境卡片上显示对应环境所用镜像,CPU等信息。

🥰 感谢

此工具编写过程中,用了如下优秀的库,在此感谢。

💰 捐赠打赏

如果你觉得这个项目对你有帮助,你可以请作者喝杯咖啡 ☕️

支付宝微信

About

🎭基于云原生构建启动自定义云原生开发环境

pluginsznberyajf
Language
Go87.4%
Makefile11.5%
Dockerfile1.2%