Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gzupanda
code-server
提交
f71d8875
C
code-server
项目概览
gzupanda
/
code-server
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
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 搜索 >>
未验证
提交
f71d8875
编写于
5月 27, 2020
作者:
A
Anmol Sethi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Rename binary release to standalone
上级
06c26a22
变更
13
隐藏空白更改
内联
并排
Showing
13 changed file
with
74 addition
and
74 deletion
+74
-74
.gitignore
.gitignore
+1
-1
ci/README.md
ci/README.md
+9
-9
ci/build/build-packages.sh
ci/build/build-packages.sh
+3
-3
ci/build/build-standalone-release.sh
ci/build/build-standalone-release.sh
+2
-2
ci/build/clean.sh
ci/build/clean.sh
+1
-1
ci/build/code-server.sh
ci/build/code-server.sh
+2
-2
ci/build/nfpm.yaml
ci/build/nfpm.yaml
+1
-1
ci/build/test-standalone-release.sh
ci/build/test-standalone-release.sh
+4
-4
ci/steps/release-packages.sh
ci/steps/release-packages.sh
+2
-2
doc/CONTRIBUTING.md
doc/CONTRIBUTING.md
+5
-5
doc/install.md
doc/install.md
+10
-10
install.sh
install.sh
+32
-32
package.json
package.json
+2
-2
未找到文件。
.gitignore
浏览文件 @
f71d8875
...
...
@@ -4,7 +4,7 @@ dist*
out*
release/
release-npm-package/
release-
binary
/
release-
standalone
/
release-packages/
release-gcp/
release-images/
...
...
ci/README.md
浏览文件 @
f71d8875
...
...
@@ -75,19 +75,19 @@ You can disable minification by setting `MINIFY=`.
- Builds vscode into `
./lib/vscode/out-vscode
`.
- [./ci/build/build-release.sh](./build/build-release.sh) (`
yarn release
`)
- Bundles the output of the above two scripts into a single node module at `
./release
`.
- [./ci/build/build-
binary-release.sh](./build/build-binary-release.sh) (`
yarn release:binary
`)
- [./ci/build/build-
standalone-release.sh](./build/build-standalone-release.sh) (`
yarn release:standalone
`)
- Requires a node module already built into `
./release
` with the above script.
- Will build a
binary release with node and node_modules bundled into `
./release-binary
`.
- Will build a
standalone release with node and node_modules bundled into `
./release-standalone
`.
- [./ci/build/clean.sh](./build/clean.sh) (`
yarn clean
`)
- Removes all build artifacts.
- Will also `
git reset --hard lib/vscode
`.
- Useful to do a clean build.
- [./ci/build/code-server.sh](./build/code-server.sh)
- Copied into
binary
releases to run code-server with the bundled node binary.
- [./ci/build/test-
binary-release.sh](./build/test-binary-release.sh) (`
yarn test:binary
-release
`)
- Ensures code-server in the `
./release-
binary
` directory works by installing an extension.
- Copied into
standalone
releases to run code-server with the bundled node binary.
- [./ci/build/test-
standalone-release.sh](./build/test-standalone-release.sh) (`
yarn test:standalone
-release
`)
- Ensures code-server in the `
./release-
standalone
` directory works by installing an extension.
- [./ci/build/build-packages.sh](./build/build-packages.sh) (`
yarn package
`)
- Packages `
./release-
binary
` into a `
.tar.gz
` archive in `
./release-packages
`.
- Packages `
./release-
standalone
` into a `
.tar.gz
` archive in `
./release-packages
`.
- If on linux, [nfpm](https://github.com/goreleaser/nfpm) is used to generate `
.deb
` and `
.rpm
`.
- [./ci/build/nfpm.yaml](./build/nfpm.yaml)
- Used to configure [nfpm](https://github.com/goreleaser/nfpm) to generate `
.deb
` and `
.rpm
`.
...
...
@@ -131,9 +131,9 @@ Helps avoid clobbering the CI configuration.
- [./steps/release.sh](./steps/release.sh)
- Runs the release process.
- Generates the npm package at `
./release
`.
- [./steps/release-
binary.sh](./steps/release-binary
.sh)
- Takes the output of the previous script and generates a
binary
release and
release packages into `
release-packages
`.
- [./steps/release-
packages.sh](./steps/release-packages
.sh)
- Takes the output of the previous script and generates a
standalone
release and
release packages into `
./
release-packages
`.
- [./steps/publish-npm.sh](./steps/publish-npm.sh)
- Grabs the `
npm-package
` release artifact for the current commit and publishes it on npm.
- [./steps/build-docker-image.sh](./steps/build-docker-image.sh)
...
...
ci/build/build-packages.sh
浏览文件 @
f71d8875
...
...
@@ -2,7 +2,7 @@
set
-euo
pipefail
# Packages code-server for the current OS and architecture into ./release-packages.
# This script assumes that a
binary release is built already into ./release-binary
# This script assumes that a
standalone release is built already into ./release-standalone
main
()
{
cd
"
$(
dirname
"
${
0
}
"
)
/../.."
...
...
@@ -29,9 +29,9 @@ main() {
release_archive
()
{
local
release_name
=
"code-server-
$VERSION
-
$OS
-
$ARCH
"
if
[[
$OS
==
"linux"
]]
;
then
tar
-czf
"release-packages/
$release_name
.tar.gz"
--transform
"s/^
\.\/
release-
binary/
$release_name
/"
./release-binary
tar
-czf
"release-packages/
$release_name
.tar.gz"
--transform
"s/^
\.\/
release-
standalone/
$release_name
/"
./release-standalone
else
tar
-czf
"release-packages/
$release_name
.tar.gz"
-s
"/^release-
binary/
$release_name
/"
release-binary
tar
-czf
"release-packages/
$release_name
.tar.gz"
-s
"/^release-
standalone/
$release_name
/"
./release-standalone
fi
echo
"done (release-packages/
$release_name
)"
...
...
ci/build/build-
binary
-release.sh
→
ci/build/build-
standalone
-release.sh
浏览文件 @
f71d8875
...
...
@@ -5,8 +5,8 @@ main() {
cd
"
$(
dirname
"
${
0
}
"
)
/../.."
source
./ci/lib.sh
rsync
"
$RELEASE_PATH
/"
"
$RELEASE_PATH
-
binary
"
RELEASE_PATH+
=
-
binary
rsync
"
$RELEASE_PATH
/"
"
$RELEASE_PATH
-
standalone
"
RELEASE_PATH+
=
-
standalone
# We cannot find the path to node from $PATH because yarn shims a script to ensure
# we use the same version it's using so we instead run a script with yarn that
...
...
ci/build/clean.sh
浏览文件 @
f71d8875
...
...
@@ -8,7 +8,7 @@ main() {
rm
-Rf
\
out
\
release
\
release-
binary
\
release-
standalone
\
release-packages
\
release-gcp
\
release-images/
\
...
...
ci/build/code-server.sh
浏览文件 @
f71d8875
#!/bin/sh
# This script is intended to be bundled into the
binary
releases.
# Runs code-server with the bundled
N
ode binary.
# This script is intended to be bundled into the
standalone
releases.
# Runs code-server with the bundled
n
ode binary.
# More complicated than readlink -f or realpath to support macOS.
# See https://github.com/cdr/code-server/issues/1537
...
...
ci/build/nfpm.yaml
浏览文件 @
f71d8875
...
...
@@ -13,4 +13,4 @@ license: "MIT"
files
:
./ci/build/code-server-nfpm.sh
:
/usr/bin/code-server
./ci/build/code-server.service
:
/usr/lib/systemd/user/code-server.service
./release-
binary
/**/*
:
"
/usr/lib/code-server/"
./release-
standalone
/**/*
:
"
/usr/lib/code-server/"
ci/build/test-
binary
-release.sh
→
ci/build/test-
standalone
-release.sh
浏览文件 @
f71d8875
...
...
@@ -10,18 +10,18 @@ main() {
local
EXTENSIONS_DIR
EXTENSIONS_DIR
=
"
$(
mktemp
-d
)
"
echo
"Testing
binary release
"
echo
"Testing
standalone release.
"
./release-
binary
/bin/code-server
--extensions-dir
"
$EXTENSIONS_DIR
"
--install-extension
ms-python.python
./release-
standalone
/bin/code-server
--extensions-dir
"
$EXTENSIONS_DIR
"
--install-extension
ms-python.python
local
installed_extensions
installed_extensions
=
"
$(
./release-
binary
/bin/code-server
--extensions-dir
"
$EXTENSIONS_DIR
"
--list-extensions
2>&1
)
"
installed_extensions
=
"
$(
./release-
standalone
/bin/code-server
--extensions-dir
"
$EXTENSIONS_DIR
"
--list-extensions
2>&1
)
"
if
[[
$installed_extensions
!=
"ms-python.python"
]]
;
then
echo
"Unexpected output from listing extensions:"
echo
"
$installed_extensions
"
exit
1
fi
echo
"
Binary release works correctly
"
echo
"
Standalone release works correctly.
"
}
main
"
$@
"
ci/steps/release-
binary
.sh
→
ci/steps/release-
packages
.sh
浏览文件 @
f71d8875
...
...
@@ -7,8 +7,8 @@ main() {
# https://github.com/actions/upload-artifact/issues/38
tar
-xzf
release-npm-package/package.tar.gz
yarn release:
binary
yarn
test
:
binary
-release
yarn release:
standalone
yarn
test
:
standalone
-release
yarn package
}
...
...
doc/CONTRIBUTING.md
浏览文件 @
f71d8875
...
...
@@ -51,14 +51,14 @@ yarn --production
node .
```
Now you can build
binary
packages with:
Now you can build
the
packages with:
```
yarn release:
binary
yarn test:
binary
-release
yarn release:
standalone
yarn test:
standalone
-release
yarn package
# The
binary release is in ./release-binary
# .deb, .rpm and the
binary
archive are in ./release-packages
# The
standalone release is in ./release-standalone
# .deb, .rpm and the
standalone
archive are in ./release-packages
```
## Structure
...
...
doc/install.md
浏览文件 @
f71d8875
...
...
@@ -10,7 +10,7 @@
-
[
Arch Linux
](
#arch-linux
)
-
[
yarn, npm
](
#yarn-npm
)
-
[
macOS
](
#macos
)
-
[
Binary Releases
](
#binary
-releases
)
-
[
Standalone Releases
](
#standalone
-releases
)
-
[
Docker
](
#docker
)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
...
...
@@ -50,9 +50,9 @@ commands presented in the rest of this document.
-
`--dry-run`
to echo the commands for the install process without running them.
-
`--method`
to choose the installation method.
-
`--method=detect`
to detect the package manager but fallback to
`--method=
archiv
e`
.
-
`--method=
archive`
to install a binary
release archive into
`~/.local`
.
-
`--prefix=/usr/local`
to install a
binary
release archive system wide.
-
`--method=detect`
to detect the package manager but fallback to
`--method=
standalon
e`
.
-
`--method=
standalone`
to install a standalone
release archive into
`~/.local`
.
-
`--prefix=/usr/local`
to install a
standalone
release archive system wide.
-
`--version=X.X.X`
to install version
`X.X.X`
instead of latest.
-
`--help`
to see full usage docs.
...
...
@@ -61,17 +61,17 @@ commands presented in the rest of this document.
-
For Debian, Ubuntu and Raspbian it will install the latest deb package.
-
For Fedora, CentOS, RHEL and openSUSE it will install the latest rpm package.
-
For Arch Linux it will install the AUR package.
-
For any unrecognized Linux operating system it will install the latest
binary
release into
`~/.local`
.
-
For any unrecognized Linux operating system it will install the latest
standalone
release into
`~/.local`
.
-
Add
`~/.local/bin`
to your
`$PATH`
to run code-server.
-
For macOS it will install the Homebrew package.
-
If Homebrew is not installed it will install the latest
binary
release into
`~/.local`
.
-
If Homebrew is not installed it will install the latest
standalone
release into
`~/.local`
.
-
Add
`~/.local/bin`
to your
`$PATH`
to run code-server.
-
If ran on an architecture with no
binary
releases, it will install the npm package with
`yarn`
or
`npm`
.
-
We only have
binary
releases for amd64 and arm64 presently.
-
If ran on an architecture with no releases, it will install the npm package with
`yarn`
or
`npm`
.
-
We only have releases for amd64 and arm64 presently.
## Debian, Ubuntu
...
...
@@ -136,7 +136,7 @@ brew services start code-server
# Now visit http://127.0.0.1:8080. Your password is in ~/.config/code-server/config.yaml
```
##
Binary
Releases
##
Standalone
Releases
We publish self contained
`.tar.gz`
archives for every release on
[
github
](
https://github.com/cdr/code-server/releases
)
.
They bundle the node binary and
`node_modules`
.
...
...
@@ -148,7 +148,7 @@ They bundle the node binary and `node_modules`.
You can add the code-server
`bin`
directory to your
`$PATH`
to easily execute
`code-server`
without the full path every time.
Here is an example script for installing and using a
binary
`code-server`
release on Linux:
Here is an example script for installing and using a
standalone
`code-server`
release on Linux:
```
bash
mkdir
-p
~/.local/lib ~/.local/bin
...
...
install.sh
浏览文件 @
f71d8875
...
...
@@ -26,14 +26,14 @@ Usage:
Echo the commands for the install process without running them.
--version X.X.X
Install a specific version instead of the latest.
--method [detect |
archiv
e]
--method [detect |
standalon
e]
Choose the installation method. Defaults to detect.
- detect detects the system package manager and tries to use it.
Full reference on the process is further below.
-
archive installs a binary
release archive into ~/.local
-
standalone installs a standalone
release archive into ~/.local
Add ~/.local/bin to your
\$
PATH to use it.
--prefix <dir>
Sets the prefix used by
binary
release archives. Defaults to ~/.local
Sets the prefix used by
standalone
release archives. Defaults to ~/.local
The release is unarchived into ~/.local/lib/code-server-X.X.X
and the binary symlinked into ~/.local/bin/code-server
To install system wide pass ---prefix=/usr/local
...
...
@@ -41,16 +41,16 @@ Usage:
- For Debian, Ubuntu and Raspbian it will install the latest deb package.
- For Fedora, CentOS, RHEL and openSUSE it will install the latest rpm package.
- For Arch Linux it will install the AUR package.
- For any unrecognized Linux operating system it will install the latest
binary
- For any unrecognized Linux operating system it will install the latest
standalone
release into ~/.local
- For macOS it will install the Homebrew package.
- If Homebrew is not installed it will install the latest
binary
release
- If Homebrew is not installed it will install the latest
standalone
release
into ~/.local
- If ran on an architecture with no
binary
releases, it will install the
- If ran on an architecture with no releases, it will install the
npm package with yarn or npm.
- We only have
binary
releases for amd64 and arm64 presently.
- We only have releases for amd64 and arm64 presently.
It will cache all downloaded assets into ~/.cache/code-server
...
...
@@ -65,12 +65,12 @@ echo_latest_version() {
echo
"
$version
"
}
echo_
archiv
e_postinstall
()
{
echo_
standalon
e_postinstall
()
{
echo
cat
<<
EOF
Binary release has been installed into
$ARCHIV
E_INSTALL_PREFIX
/lib/code-server-
$VERSION
Standalone release has been installed into
$STANDALON
E_INSTALL_PREFIX
/lib/code-server-
$VERSION
Please extend your path to use code-server:
PATH="
$
ARCHIV
E_INSTALL_PREFIX
/bin:
\$
PATH"
PATH="
$
STANDALON
E_INSTALL_PREFIX
/bin:
\$
PATH"
Then you can run:
code-server
EOF
...
...
@@ -94,7 +94,7 @@ main() {
unset
\
DRY_RUN
\
METHOD
\
ARCHIV
E_INSTALL_PREFIX
\
STANDALON
E_INSTALL_PREFIX
\
VERSION
\
OPTIONAL
...
...
@@ -111,11 +111,11 @@ main() {
METHOD
=
"
$(
parse_arg
"
$@
"
)
"
;;
--prefix
)
ARCHIV
E_INSTALL_PREFIX
=
"
$(
parse_arg
"
$@
"
)
"
STANDALON
E_INSTALL_PREFIX
=
"
$(
parse_arg
"
$@
"
)
"
shift
;;
--prefix
=
*
)
ARCHIV
E_INSTALL_PREFIX
=
"
$(
parse_arg
"
$@
"
)
"
STANDALON
E_INSTALL_PREFIX
=
"
$(
parse_arg
"
$@
"
)
"
;;
--version
)
VERSION
=
"
$(
parse_arg
"
$@
"
)
"
...
...
@@ -140,12 +140,12 @@ main() {
VERSION
=
"
${
VERSION
-
$(
echo_latest_version
)
}
"
METHOD
=
"
${
METHOD
-detect
}
"
if
[
"
$METHOD
"
!=
detect
]
&&
[
"
$METHOD
"
!=
archiv
e
]
;
then
if
[
"
$METHOD
"
!=
detect
]
&&
[
"
$METHOD
"
!=
standalon
e
]
;
then
echoerr
"Unknown install method
\"
$METHOD
\"
"
echoerr
"Run with --help to see usage."
exit
1
fi
ARCHIVE_INSTALL_PREFIX
=
"
${
ARCHIV
E_INSTALL_PREFIX
-
$HOME
/.local
}
"
STANDALONE_INSTALL_PREFIX
=
"
${
STANDALON
E_INSTALL_PREFIX
-
$HOME
/.local
}
"
OS
=
"
$(
os
)
"
if
[
!
"
$OS
"
]
;
then
...
...
@@ -157,9 +157,9 @@ main() {
ARCH
=
"
$(
arch
)
"
if
[
!
"
$ARCH
"
]
;
then
if
[
"
$METHOD
"
=
archiv
e
]
;
then
echoerr
"No
binary
releases available for the architecture
$(
uname
-m
)
."
echoerr
'Please rerun without the "--method
archiv
e" flag to install from npm.'
if
[
"
$METHOD
"
=
standalon
e
]
;
then
echoerr
"No releases available for the architecture
$(
uname
-m
)
."
echoerr
'Please rerun without the "--method
standalon
e" flag to install from npm.'
exit
1
fi
echo
"No precompiled releases for
$(
uname
-m
)
."
...
...
@@ -170,8 +170,8 @@ main() {
CACHE_DIR
=
"
$(
echo_cache_dir
)
"
mkdir
-p
"
$CACHE_DIR
"
if
[
"
$METHOD
"
=
archiv
e
]
;
then
install_
archiv
e
if
[
"
$METHOD
"
=
standalon
e
]
;
then
install_
standalon
e
return
fi
...
...
@@ -190,7 +190,7 @@ main() {
;;
*
)
echo
"Unsupported package manager."
install_
archiv
e
install_
standalon
e
;;
esac
}
...
...
@@ -256,7 +256,7 @@ install_macos() {
echo
"Homebrew not installed."
install_
archiv
e
install_
standalon
e
}
install_deb
()
{
...
...
@@ -300,31 +300,31 @@ install_aur() {
echo_systemd_postinstall
}
install_
archiv
e
()
{
echo
"Installing
binary
release archive v
$VERSION
"
install_
standalon
e
()
{
echo
"Installing
standalone
release archive v
$VERSION
"
echo
fetch
"https://github.com/cdr/code-server/releases/download/v
$VERSION
/code-server-
$VERSION
-
$OS
-
$ARCH
.tar.gz"
\
"
$CACHE_DIR
/code-server-
$VERSION
-
$OS
-
$ARCH
.tar.gz"
sh_c
=
"sh_c"
if
[
!
-w
"
$
ARCHIV
E_INSTALL_PREFIX
"
]
;
then
if
[
!
-w
"
$
STANDALON
E_INSTALL_PREFIX
"
]
;
then
sh_c
=
"sudo_sh_c"
fi
if
[
-e
"
$
ARCHIV
E_INSTALL_PREFIX
/lib/code-server-
$VERSION
"
]
;
then
if
[
-e
"
$
STANDALON
E_INSTALL_PREFIX
/lib/code-server-
$VERSION
"
]
;
then
echo
echo
"code-server-
$VERSION
is already installed at
$
ARCHIV
E_INSTALL_PREFIX
/lib/code-server-
$VERSION
"
echo
"code-server-
$VERSION
is already installed at
$
STANDALON
E_INSTALL_PREFIX
/lib/code-server-
$VERSION
"
echo
"Remove it to reinstall."
exit
0
fi
"
$sh_c
"
mkdir
-p
"
$
ARCHIVE_INSTALL_PREFIX
/lib"
"
$ARCHIV
E_INSTALL_PREFIX
/bin"
"
$sh_c
"
tar
-C
"
$
ARCHIV
E_INSTALL_PREFIX
/lib"
-xzf
"
$CACHE_DIR
/code-server-
$VERSION
-
$OS
-
$ARCH
.tar.gz"
"
$sh_c
"
mv
-f
"
$
ARCHIVE_INSTALL_PREFIX
/lib/code-server-
$VERSION
-
$OS
-
$ARCH
"
"
$ARCHIV
E_INSTALL_PREFIX
/lib/code-server-
$VERSION
"
"
$sh_c
"
ln
-fs
"
$
ARCHIVE_INSTALL_PREFIX
/lib/code-server-
$VERSION
/bin/code-server"
"
$ARCHIV
E_INSTALL_PREFIX
/bin/code-server"
"
$sh_c
"
mkdir
-p
"
$
STANDALONE_INSTALL_PREFIX
/lib"
"
$STANDALON
E_INSTALL_PREFIX
/bin"
"
$sh_c
"
tar
-C
"
$
STANDALON
E_INSTALL_PREFIX
/lib"
-xzf
"
$CACHE_DIR
/code-server-
$VERSION
-
$OS
-
$ARCH
.tar.gz"
"
$sh_c
"
mv
-f
"
$
STANDALONE_INSTALL_PREFIX
/lib/code-server-
$VERSION
-
$OS
-
$ARCH
"
"
$STANDALON
E_INSTALL_PREFIX
/lib/code-server-
$VERSION
"
"
$sh_c
"
ln
-fs
"
$
STANDALONE_INSTALL_PREFIX
/lib/code-server-
$VERSION
/bin/code-server"
"
$STANDALON
E_INSTALL_PREFIX
/bin/code-server"
echo_
archiv
e_postinstall
echo_
standalon
e_postinstall
}
install_npm
()
{
...
...
package.json
浏览文件 @
f71d8875
...
...
@@ -16,10 +16,10 @@
"build"
:
"./ci/build/build-code-server.sh"
,
"build:vscode"
:
"./ci/build/build-vscode.sh"
,
"release"
:
"./ci/build/build-release.sh"
,
"release:
binary"
:
"./ci/build/build-binary
-release.sh"
,
"release:
standalone"
:
"./ci/build/build-standalone
-release.sh"
,
"release:github-draft"
:
"./ci/build/release-github-draft.sh"
,
"release:github-assets"
:
"./ci/build/release-github-assets.sh"
,
"test:
binary-release"
:
"./ci/build/test-binary
-release.sh"
,
"test:
standalone-release"
:
"./ci/build/test-standalone
-release.sh"
,
"package"
:
"./ci/build/build-packages.sh"
,
"_____"
:
""
,
"fmt"
:
"./ci/dev/fmt.sh"
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录