Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
镜像
Coder
code-server
提交
fa45fd0e
C
code-server
项目概览
镜像
/
Coder
/
code-server
2022-09-21 03:15:05同步失败
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
code-server
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
fa45fd0e
编写于
5月 27, 2020
作者:
A
Anmol Sethi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Rename static releases to binary releases
More clear as discussed in PR.
上级
665ca017
变更
13
隐藏空白更改
内联
并排
Showing
13 changed file
with
46 addition
and
46 deletion
+46
-46
.gitignore
.gitignore
+1
-1
ci/README.md
ci/README.md
+8
-8
ci/build/build-binary-release.sh
ci/build/build-binary-release.sh
+2
-2
ci/build/build-packages.sh
ci/build/build-packages.sh
+3
-3
ci/build/clean.sh
ci/build/clean.sh
+1
-1
ci/build/code-server.sh
ci/build/code-server.sh
+1
-1
ci/build/nfpm.yaml
ci/build/nfpm.yaml
+1
-1
ci/build/test-binary-release.sh
ci/build/test-binary-release.sh
+4
-4
ci/steps/release-binary.sh
ci/steps/release-binary.sh
+2
-2
doc/CONTRIBUTING.md
doc/CONTRIBUTING.md
+5
-5
doc/install.md
doc/install.md
+7
-7
install.sh
install.sh
+9
-9
package.json
package.json
+2
-2
未找到文件。
.gitignore
浏览文件 @
fa45fd0e
...
...
@@ -4,7 +4,7 @@ dist*
out*
release/
release-npm-package/
release-
static
/
release-
binary
/
release-packages/
release-gcp/
release-images/
...
...
ci/README.md
浏览文件 @
fa45fd0e
...
...
@@ -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-
static-release.sh](./build/build-static-release.sh) (`
yarn release:static
`)
- [./ci/build/build-
binary-release.sh](./build/build-binary-release.sh) (`
yarn release:binary
`)
- Requires a node module already built into `
./release
` with the above script.
- Will build a
static release with node and node_modules bundled into `
./release-static
`.
- Will build a
binary release with node and node_modules bundled into `
./release-binary
`.
- [./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
static
releases to run code-server with the bundled node binary.
- [./ci/build/test-
static-release.sh](./build/test-static-release.sh) (`
yarn test:static
-release
`)
- Ensures code-server in the `
./release-
static
` directory works by installing an extension.
- 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.
- [./ci/build/build-packages.sh](./build/build-packages.sh) (`
yarn package
`)
- Packages `
./release-
static
` into a `
.tar.gz
` archive in `
./release-packages
`.
- Packages `
./release-
binary
` 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,8 +131,8 @@ Helps avoid clobbering the CI configuration.
- [./steps/release.sh](./steps/release.sh)
- Runs the release process.
- Generates the npm package at `
./release
`.
- [./steps/release-
static.sh](./steps/release-static
.sh)
- Takes the output of the previous script and generates a
static
release and
- [./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/publish-npm.sh](./steps/publish-npm.sh)
- Grabs the `
npm-package
` release artifact for the current commit and publishes it on npm.
...
...
ci/build/build-
static
-release.sh
→
ci/build/build-
binary
-release.sh
浏览文件 @
fa45fd0e
...
...
@@ -5,8 +5,8 @@ main() {
cd
"
$(
dirname
"
${
0
}
"
)
/../.."
source
./ci/lib.sh
rsync
"
$RELEASE_PATH
/"
"
$RELEASE_PATH
-
static
"
RELEASE_PATH+
=
-
static
rsync
"
$RELEASE_PATH
/"
"
$RELEASE_PATH
-
binary
"
RELEASE_PATH+
=
-
binary
# 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/build-packages.sh
浏览文件 @
fa45fd0e
...
...
@@ -2,7 +2,7 @@
set
-euo
pipefail
# Packages code-server for the current OS and architecture into ./release-packages.
# This script assumes that a
static release is built already into ./release-static.
# This script assumes that a
binary release is built already into ./release-binary
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-
static/
$release_name
/"
./release-static
tar
-czf
"release-packages/
$release_name
.tar.gz"
--transform
"s/^
\.\/
release-
binary/
$release_name
/"
./release-binary
else
tar
-czf
"release-packages/
$release_name
.tar.gz"
-s
"/^release-
static/
$release_name
/"
release-static
tar
-czf
"release-packages/
$release_name
.tar.gz"
-s
"/^release-
binary/
$release_name
/"
release-binary
fi
echo
"done (release-packages/
$release_name
)"
...
...
ci/build/clean.sh
浏览文件 @
fa45fd0e
...
...
@@ -8,7 +8,7 @@ main() {
rm
-Rf
\
out
\
release
\
release-
static
\
release-
binary
\
release-packages
\
release-gcp
\
release-images/
\
...
...
ci/build/code-server.sh
浏览文件 @
fa45fd0e
#!/bin/sh
# This script is intended to be bundled into the
static
releases.
# This script is intended to be bundled into the
binary
releases.
# Runs code-server with the bundled Node binary.
# More complicated than readlink -f or realpath to support macOS.
...
...
ci/build/nfpm.yaml
浏览文件 @
fa45fd0e
...
...
@@ -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-
static
/**/*
:
"
/usr/lib/code-server/"
./release-
binary
/**/*
:
"
/usr/lib/code-server/"
ci/build/test-
static
-release.sh
→
ci/build/test-
binary
-release.sh
浏览文件 @
fa45fd0e
...
...
@@ -10,18 +10,18 @@ main() {
local
EXTENSIONS_DIR
EXTENSIONS_DIR
=
"
$(
mktemp
-d
)
"
echo
"Testing
static
release"
echo
"Testing
binary
release"
./release-
static
/bin/code-server
--extensions-dir
"
$EXTENSIONS_DIR
"
--install-extension
ms-python.python
./release-
binary
/bin/code-server
--extensions-dir
"
$EXTENSIONS_DIR
"
--install-extension
ms-python.python
local
installed_extensions
installed_extensions
=
"
$(
./release-
static
/bin/code-server
--extensions-dir
"
$EXTENSIONS_DIR
"
--list-extensions
2>&1
)
"
installed_extensions
=
"
$(
./release-
binary
/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
"
Static
release works correctly"
echo
"
Binary
release works correctly"
}
main
"
$@
"
ci/steps/release-
static
.sh
→
ci/steps/release-
binary
.sh
浏览文件 @
fa45fd0e
...
...
@@ -7,8 +7,8 @@ main() {
# https://github.com/actions/upload-artifact/issues/38
tar
-xzf
release-npm-package/package.tar.gz
yarn release:
static
yarn
test
:
static
-release
yarn release:
binary
yarn
test
:
binary
-release
yarn package
}
...
...
doc/CONTRIBUTING.md
浏览文件 @
fa45fd0e
...
...
@@ -51,14 +51,14 @@ yarn --production
node .
```
Now you can
make it static and build
packages with:
Now you can
build binary
packages with:
```
yarn release:
static
yarn test:
static
-release
yarn release:
binary
yarn test:
binary
-release
yarn package
# The
static release is in ./release-static
# .deb, .rpm and the
static
archive are in ./release-packages
# The
binary release is in ./release-binary
# .deb, .rpm and the
binary
archive are in ./release-packages
```
## Structure
...
...
doc/install.md
浏览文件 @
fa45fd0e
...
...
@@ -10,7 +10,7 @@
-
[
Arch Linux
](
#arch-linux
)
-
[
yarn, npm
](
#yarn-npm
)
-
[
macOS
](
#macos
)
-
[
Static Releases
](
#static
-releases
)
-
[
Binary Releases
](
#binary
-releases
)
-
[
Docker
](
#docker
)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
...
...
@@ -51,8 +51,8 @@ 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=archive`
.
-
`--method=archive`
to install a
static
release archive into
`~/.local`
.
-
`--prefix=/usr/local`
to install a
static
release archive system wide.
-
`--method=archive`
to install a
binary
release archive into
`~/.local`
.
-
`--prefix=/usr/local`
to install a
binary
release archive system wide.
-
`--version=X.X.X`
to install version
`X.X.X`
instead of latest.
-
`--help`
to see full usage docs.
...
...
@@ -61,13 +61,13 @@ 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
static
release into
`~/.local`
.
-
For any unrecognized Linux operating system it will install the latest
binary
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
static
release into
`~/.local`
.
-
If Homebrew is not installed it will install the latest
binary
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`
.
...
...
@@ -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
```
##
Static
Releases
##
Binary
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
static
`code-server`
release on Linux:
Here is an example script for installing and using a
binary
`code-server`
release on Linux:
```
bash
mkdir
-p
~/.local/lib ~/.local/bin
...
...
install.sh
浏览文件 @
fa45fd0e
...
...
@@ -30,10 +30,10 @@ Usage:
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
static
release archive into ~/.local
- archive installs a
binary
release archive into ~/.local
Add ~/.local/bin to your
\$
PATH to use it.
--prefix <dir>
Sets the prefix used by
static
release archives. Defaults to ~/.local
Sets the prefix used by
binary
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,11 +41,11 @@ 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
static
- For any unrecognized Linux operating system it will install the latest
binary
release into ~/.local
- For macOS it will install the Homebrew package.
- If Homebrew is not installed it will install the latest
static
release
- If Homebrew is not installed it will install the latest
binary
release
into ~/.local
- If ran on an architecture with no binary releases, it will install the
...
...
@@ -65,10 +65,10 @@ echo_latest_version() {
echo
"
$version
"
}
echo_
static
_postinstall
()
{
echo_
archive
_postinstall
()
{
echo
cat
<<
EOF
Static
release has been installed into
$ARCHIVE_INSTALL_PREFIX
/lib/code-server-
$VERSION
Binary
release has been installed into
$ARCHIVE_INSTALL_PREFIX
/lib/code-server-
$VERSION
Please extend your path to use code-server:
PATH="
$ARCHIVE_INSTALL_PREFIX
/bin:
\$
PATH"
Then you can run:
...
...
@@ -158,7 +158,7 @@ main() {
ARCH
=
"
$(
arch
)
"
if
[
!
"
$ARCH
"
]
;
then
if
[
"
$METHOD
"
=
archive
]
;
then
echoerr
"No
static
releases available for the architecture
$(
uname
-m
)
."
echoerr
"No
binary
releases available for the architecture
$(
uname
-m
)
."
echoerr
'Please rerun without the "--method archive" flag to install from npm.'
exit
1
fi
...
...
@@ -304,7 +304,7 @@ install_aur() {
}
install_archive
()
{
echo
"Installing
static releas
e v
$VERSION
"
echo
"Installing
binary release archiv
e v
$VERSION
"
echo
fetch
"https://github.com/cdr/code-server/releases/download/v
$VERSION
/code-server-
$VERSION
-
$OS
-
$ARCH
.tar.gz"
\
...
...
@@ -327,7 +327,7 @@ install_archive() {
"
$sh_c
"
mv
-f
"
$ARCHIVE_INSTALL_PREFIX
/lib/code-server-
$VERSION
-
$OS
-
$ARCH
"
"
$ARCHIVE_INSTALL_PREFIX
/lib/code-server-
$VERSION
"
"
$sh_c
"
ln
-fs
"
$ARCHIVE_INSTALL_PREFIX
/lib/code-server-
$VERSION
/bin/code-server"
"
$ARCHIVE_INSTALL_PREFIX
/bin/code-server"
echo_
static
_postinstall
echo_
archive
_postinstall
}
install_npm
()
{
...
...
package.json
浏览文件 @
fa45fd0e
...
...
@@ -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:
static"
:
"./ci/build/build-static
-release.sh"
,
"release:
binary"
:
"./ci/build/build-binary
-release.sh"
,
"release:github-draft"
:
"./ci/build/release-github-draft.sh"
,
"release:github-assets"
:
"./ci/build/release-github-assets.sh"
,
"test:
static-release"
:
"./ci/build/test-static
-release.sh"
,
"test:
binary-release"
:
"./ci/build/test-binary
-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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录