Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
myhjmzy
code-server
提交
22c4a7e1
C
code-server
项目概览
myhjmzy
/
code-server
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
code-server
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
22c4a7e1
编写于
9月 28, 2020
作者:
A
Anmol Sethi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Make linking and starting code-server to the cloud a single command
上级
607444c6
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
30 addition
and
19 deletion
+30
-19
src/node/cli.ts
src/node/cli.ts
+3
-3
src/node/coder-cloud.ts
src/node/coder-cloud.ts
+1
-1
src/node/entry.ts
src/node/entry.ts
+26
-15
未找到文件。
src/node/cli.ts
浏览文件 @
22c4a7e1
...
...
@@ -48,7 +48,7 @@ export interface Args extends VsArgs {
readonly
"
reuse-window
"
?:
boolean
readonly
"
new-window
"
?:
boolean
readonly
expose
?:
OptionalString
readonly
"
coder-link
"
?:
OptionalString
}
interface
Option
<
T
>
{
...
...
@@ -159,10 +159,10 @@ const options: Options<Required<Args>> = {
log
:
{
type
:
LogLevel
},
verbose
:
{
type
:
"
boolean
"
,
short
:
"
vvv
"
,
description
:
"
Enable verbose logging.
"
},
expose
:
{
"
coder-link
"
:
{
type
:
OptionalString
,
description
:
`
Securely
expose
code-server via Coder Cloud with the passed name. You'll get a URL like
Securely
link
code-server via Coder Cloud with the passed name. You'll get a URL like
https://myname.coder-cloud.com at which you can easily access your code-server instance.
Authorization is done via GitHub. Only the first code-server spawned with the current
configuration will be accessible.`
,
...
...
src/node/coder-cloud.ts
浏览文件 @
22c4a7e1
...
...
@@ -9,7 +9,7 @@ import xdgBasedir from "xdg-basedir"
const
coderCloudAgent
=
path
.
resolve
(
__dirname
,
"
../../lib/coder-cloud-agent
"
)
export
async
function
coderCloud
Expose
(
serverName
:
string
):
Promise
<
void
>
{
export
async
function
coderCloud
Link
(
serverName
:
string
):
Promise
<
void
>
{
const
agent
=
spawn
(
coderCloudAgent
,
[
"
link
"
,
serverName
],
{
stdio
:
[
"
inherit
"
,
"
inherit
"
,
"
pipe
"
],
})
...
...
src/node/entry.ts
浏览文件 @
22c4a7e1
...
...
@@ -12,7 +12,7 @@ import { StaticHttpProvider } from "./app/static"
import
{
UpdateHttpProvider
}
from
"
./app/update
"
import
{
VscodeHttpProvider
}
from
"
./app/vscode
"
import
{
Args
,
bindAddrFromAllSources
,
optionDescriptions
,
parse
,
readConfigFile
,
setDefaults
}
from
"
./cli
"
import
{
coderCloud
Expose
,
coderCloudProxy
}
from
"
./coder-cloud
"
import
{
coderCloud
Link
,
coderCloudProxy
}
from
"
./coder-cloud
"
import
{
AuthType
,
HttpServer
,
HttpServerOptions
}
from
"
./http
"
import
{
loadPlugins
}
from
"
./plugin
"
import
{
generateCertificate
,
hash
,
humanPath
,
open
}
from
"
./util
"
...
...
@@ -36,6 +36,15 @@ const version = pkg.version || "development"
const
commit
=
pkg
.
commit
||
"
development
"
const
main
=
async
(
args
:
Args
,
cliArgs
:
Args
,
configArgs
:
Args
):
Promise
<
void
>
=>
{
if
(
args
[
"
coder-link
"
])
{
// If we're being exposed to the cloud, we listen on a random address.
args
=
{
...
args
,
host
:
"
localhost
"
,
port
:
0
,
}
}
if
(
!
args
.
auth
)
{
args
=
{
...
args
,
...
...
@@ -131,6 +140,22 @@ const main = async (args: Args, cliArgs: Args, configArgs: Args): Promise<void>
await
open
(
openAddress
).
catch
(
console
.
error
)
logger
.
info
(
`Opened
${
openAddress
}
`
)
}
if
(
args
[
"
coder-link
"
])
{
if
(
!
args
[
"
coder-link
"
].
value
)
{
logger
.
error
(
"
You must pass a name to link with coder cloud. See --help
"
)
process
.
exit
(
1
)
}
logger
.
info
(
`linking code-server to the cloud with name
${
args
[
"
coder-link
"
].
value
}
`
)
try
{
await
coderCloudLink
(
args
[
"
coder-link
"
].
value
)
}
catch
(
err
)
{
logger
.
error
(
err
.
message
)
process
.
exit
(
1
)
}
}
}
async
function
entry
():
Promise
<
void
>
{
...
...
@@ -191,20 +216,6 @@ async function entry(): Promise<void> {
process
.
exit
(
1
)
})
vscode
.
on
(
"
exit
"
,
(
code
)
=>
process
.
exit
(
code
||
0
))
}
else
if
(
args
[
"
expose
"
])
{
logger
.
debug
(
"
exposing code-server via the coder-cloud agent
"
)
if
(
!
args
[
"
expose
"
].
value
)
{
logger
.
error
(
"
You must pass a name to expose with coder cloud. See --help
"
)
process
.
exit
(
1
)
}
try
{
await
coderCloudExpose
(
args
[
"
expose
"
].
value
)
}
catch
(
err
)
{
logger
.
error
(
err
.
message
)
process
.
exit
(
1
)
}
}
else
if
(
process
.
env
.
VSCODE_IPC_HOOK_CLI
)
{
const
pipeArgs
:
OpenCommandPipeArgs
=
{
type
:
"
open
"
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录