eclipse/che-machine-execCHE machine exec 是基于Go语言的服务器端组件,用于为Eclipse CHE工作区创建machine-execs,支持生成终端或命令进程。该组件通过JSON-RPC协议与客户端进行通信。
手动构建che-machine-exec Docker镜像:
bashdocker build --no-cache -t eclipse/che-machine-exec .
手动运行che-machine-exec Docker容器:
bashdocker run --rm -p 4444:4444 -v /var/run/docker.sock:/var/run/docker.sock eclipse/che-machine-exec
在Docker基础设施上配置Eclipse CHE时,需使用che.env配置文件(位于CHE的data目录中)。编辑并保存che.env文件,将docker.sock路径(默认路径为/var/run/docker.sock)应用到工作区卷属性CHE_WORKSPACE_VOLUME:
示例:
bashCHE_WORKSPACE_VOLUME=/var/run/docker.sock:/var/run/docker.sock;
注意:所有配置更改需重启Eclipse CHE后生效。
启动Eclipse CHE后,可从堆栈“Theia IDE on docker”创建集成Theia IDE的新Eclipse CHE工作区。随后可通过以下方式测试che-machine-exec:借助eclipse-che-theia-terminal测试 和 借助che-theia-task-plugin测试
需先在本地OpenShift部署Eclipse CHE。准备Eclipse CHE部署环境
可使用ocp.sh脚本将Eclipse CHE部署到本地运行的OpenShift:
进入ocp.sh脚本目录:
bashcd ~/projects/che/deploy/openshift/
带参数运行ocp.sh:
bash./ocp.sh --run-ocp --deploy-che --no-pull --debug --deploy-che-plugin-registry --multiuser
输出中将提供已部署Eclipse CHE项目的链接,用于登录。
注意:可使用
--setup-ocp-oauth参数,但此时需在登录页面使用“Openshift v3”认证方式。
在登录页面注册新用户,登录后将重定向至Eclipse CHE用户仪表板。创建基于“Java Theia on OpenShift”或“CHE 7”堆栈的新工作区并运行,待工作区启动后将显示Theia IDE,随后可进行上述两种测试。
需先在Minishift部署Eclipse CHE。准备Eclipse CHE部署环境
参考以下文档安装Minishift:
下载对应平台的oc二进制文件([***]
bash$ oc version oc v3.9.0+191fece kubernetes v1.9.1+a0ce1bc657 features: Basic-Auth GSSAPI Kerberos SPNEGO
启动Minishift:
bash$ minishift start --memory=8GB -- Starting local OpenShift cluster using 'kvm' hypervisor... ... OpenShift server started. The server is accessible via web console at: [***] You are logged in as: User: developer Password: developer To login as administrator: oc login -u system:admin
从输出中获取Minishift master URL(示例:[***]),保存为环境变量:
bashexport CHE_INFRA_KUBERNETES_MASTER__URL=[***]
注意:删除并重新创建Minishift虚拟机后,此URL可能变更。
在CHE_INFRA_KUBERNETES_MASTER__URL页面注册新用户,使用oc登录:
bash$ oc login --server=${CHE_INFRA_KUBERNETES_MASTER__URL}
使用deploy_che.sh脚本部署CHE:
bashcd ~/projects/che/deploy/openshift/ export CHE_INFRA_KUBERNETES_MASTER__URL=${CHE_INFRA_KUBERNETES_MASTER__URL} && ./deploy_che.sh --no-pull --debug --multiuser
创建并运行基于“Java Theia on OpenShift”或“CHE 7”堆栈的工作区,随后进行测试。
需先在Minikube集群部署Eclipse CHE。准备Eclipse CHE部署环境
启动Minikube:
bashminikube start --cpus 2 --memory 8192 --extra-config=apiserver.authorization-mode=RBAC
进入helm/che目录:
bash$ cd ~/projects/che/deploy/kubernetes/helm/che
kube-system:default账户添加cluster-admin角色:bashkubectl create clusterrolebinding add-on-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:default
bashkubectl config use-context minikube
bashkubectl create serviceaccount tiller --namespace kube-system
bashkubectl apply -f ./tiller-rbac.yaml
bashhelm init --service-account tiller
bashminikube addons enable ingress
两种部署配置:
bashhelm upgrade --install che --namespace che ./
bashhelm upgrade --install che --namespace=che --set global.cheWorkspacesNamespace=che ./
信息:部署多用户CHE可使用参数:
-f ./values/multi-user.yaml。可通过--set global.ingressDomain=<domain>设置ingress域名。 注意:可通过Minikube仪表板跟踪部署:
bashminikube dashboard
创建基于“CHE 7”堆栈的工作区并运行,随后进行测试。
要求:已安装Java 8+和Maven 3.3.0+
首先克隆Eclipse CHE仓库:
$ git clone [***] ~/projects/che
测试无需构建完整CHE,构建'assembly-main' Maven模块即可:
$ cd ~/projects/che/assembly/assembly-main $ mvn clean install -DskipTests
基于Theia堆栈创建的Eclipse CHE工作区包含che-theia-terminal-extension。通过以下方式测试:
终端 => 在特定容器中打开终端,选择机器后,底部面板将显示新终端。Ctrl + Shift + P,输入terminal,通过方向键选择终端创建命令并按Enter启动。基于Theia堆栈的工作区包含che-theia-task-plugin。测试步骤:
.theia文件夹,在其中创建tasks.json文件,内容如下:json{ "tasks": [ { "label": "che", "type": "che", "command": "echo hello" } ] }
终端 => 运行任务...,Theia将显示输出窗口,内容为'echo hello'。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务