Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
8dbf4c5d
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
8dbf4c5d
编写于
7月 12, 2018
作者:
J
Joao Moreno
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'linux-builds'
上级
72d7345e
0c297691
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
78 addition
and
71 deletion
+78
-71
build/tfs/linux/product-build-linux.yml
build/tfs/linux/product-build-linux.yml
+78
-4
build/tfs/linux/release.sh
build/tfs/linux/release.sh
+0
-67
未找到文件。
build/tfs/linux/product-build-linux.yml
浏览文件 @
8dbf4c5d
...
...
@@ -36,14 +36,88 @@ steps:
-
script
:
|
set -e
REPO="$(pwd)"
ROOT="$REPO/.."
ARCH="$(VSCODE_ARCH)"
# Publish tarball
PLATFORM_LINUX="linux-$(VSCODE_ARCH)"
[[ "$ARCH" == "ia32" ]] && DEB_ARCH="i386" || DEB_ARCH="amd64"
[[ "$ARCH" == "ia32" ]] && RPM_ARCH="i386" || RPM_ARCH="x86_64"
BUILDNAME="VSCode-$PLATFORM_LINUX"
BUILD="$ROOT/$BUILDNAME"
BUILD_VERSION="$(date +%s)"
[ -z "$VSCODE_QUALITY" ] && TARBALL_FILENAME="code-$BUILD_VERSION.tar.gz" || TARBALL_FILENAME="code-$VSCODE_QUALITY-$BUILD_VERSION.tar.gz"
TARBALL_PATH="$ROOT/$TARBALL_FILENAME"
PACKAGEJSON="$BUILD/resources/app/package.json"
VERSION=$(node -p "require(\"$PACKAGEJSON\").version")
rm -rf $ROOT/code-*.tar.*
(cd $ROOT && tar -czf $TARBALL_PATH $BUILDNAME)
AZURE_DOCUMENTDB_MASTERKEY="$(AZURE_DOCUMENTDB_MASTERKEY)" \
AZURE_STORAGE_ACCESS_KEY_2="$(AZURE_STORAGE_ACCESS_KEY_2)" \
MOONCAKE_STORAGE_ACCESS_KEY="$(MOONCAKE_STORAGE_ACCESS_KEY)" \
node build/tfs/common/publish.js "$VSCODE_QUALITY" "$PLATFORM_LINUX" archive-unsigned "$TARBALL_FILENAME" "$VERSION" true "$TARBALL_PATH"
# Publish hockeyapp symbols
node build/tfs/common/symbols.js "$(VSCODE_MIXIN_PASSWORD)" "$(VSCODE_HOCKEYAPP_TOKEN)" "$(VSCODE_ARCH)" "$(VSCODE_HOCKEYAPP_ID_LINUX64)"
# Publish DEB
npm run gulp -- "vscode-linux-$(VSCODE_ARCH)-build-deb"
PLATFORM_DEB="linux-deb-$ARCH"
[[ "$ARCH" == "ia32" ]] && DEB_ARCH="i386" || DEB_ARCH="amd64"
DEB_FILENAME="$(ls $REPO/.build/linux/deb/$DEB_ARCH/deb/)"
DEB_PATH="$REPO/.build/linux/deb/$DEB_ARCH/deb/$DEB_FILENAME"
AZURE_DOCUMENTDB_MASTERKEY="$(AZURE_DOCUMENTDB_MASTERKEY)" \
AZURE_STORAGE_ACCESS_KEY_2="$(AZURE_STORAGE_ACCESS_KEY_2)" \
MOONCAKE_STORAGE_ACCESS_KEY="$(MOONCAKE_STORAGE_ACCESS_KEY)" \
node build/tfs/common/publish.js "$VSCODE_QUALITY" "$PLATFORM_DEB" package "$DEB_FILENAME" "$VERSION" true "$DEB_PATH"
# Publish RPM
npm run gulp -- "vscode-linux-$(VSCODE_ARCH)-build-rpm"
#npm run gulp -- "vscode-linux-$(VSCODE_ARCH)-build-snap"
PLATFORM_RPM="linux-rpm-$ARCH"
[[ "$ARCH" == "ia32" ]] && RPM_ARCH="i386" || RPM_ARCH="x86_64"
RPM_FILENAME="$(ls $REPO/.build/linux/rpm/$RPM_ARCH/ | grep .rpm)"
RPM_PATH="$REPO/.build/linux/rpm/$RPM_ARCH/$RPM_FILENAME"
AZURE_DOCUMENTDB_MASTERKEY="$(AZURE_DOCUMENTDB_MASTERKEY)" \
AZURE_STORAGE_ACCESS_KEY_2="$(AZURE_STORAGE_ACCESS_KEY_2)" \
MOONCAKE_STORAGE_ACCESS_KEY="$(MOONCAKE_STORAGE_ACCESS_KEY)" \
./build/tfs/linux/release.sh "$(VSCODE_ARCH)" "$(LINUX_REPO_PASSWORD)
"
node build/tfs/common/publish.js "$VSCODE_QUALITY" "$PLATFORM_RPM" package "$RPM_FILENAME" "$VERSION" true "$RPM_PATH
"
# publish hockeyapp symbols
node build/tfs/common/symbols.js "$(VSCODE_MIXIN_PASSWORD)" "$(VSCODE_HOCKEYAPP_TOKEN)" "$(VSCODE_ARCH)" "$(VSCODE_HOCKEYAPP_ID_LINUX64)"
# SNAP_FILENAME="$(ls $REPO/.build/linux/snap/$ARCH/ | grep .snap)"
# SNAP_PATH="$REPO/.build/linux/snap/$ARCH/$SNAP_FILENAME"
# Publish to MS repo
IS_FROZEN="$(node build/tfs/linux/frozen-check.js $VSCODE_QUALITY)"
if [ -z "$VSCODE_QUALITY" ]; then
echo "VSCODE_QUALITY is not set, skipping repo package publish"
elif [ "$IS_FROZEN" = "true" ]; then
echo "$VSCODE_QUALITY is frozen, skipping repo package publish"
else
if [ "$BUILD_SOURCEBRANCH" = "master" ] || [ "$BUILD_SOURCEBRANCH" = "refs/heads/master" ]; then
if [[ $BUILD_QUEUEDBY = *"Project Collection Service Accounts"* || $BUILD_QUEUEDBY = *"Microsoft.VisualStudio.Services.TFS"* ]]; then
# Write config files needed by API, use eval to force environment variable expansion
pushd build/tfs/linux
# Submit to apt repo
if [ "$DEB_ARCH" = "amd64" ]; then
eval echo '{ \"server\": \"azure-apt-cat.cloudapp.net\", \"protocol\": \"https\", \"port\": \"443\", \"repositoryId\": \"58a4adf642421134a1a48d1a\", \"username\": \"vscode\", \"password\": \"$LINUX_REPO_PASSWORD\" }' > apt-config.json
AZURE_DOCUMENTDB_MASTERKEY="$(AZURE_DOCUMENTDB_MASTERKEY)" \
AZURE_STORAGE_ACCESS_KEY_2="$(AZURE_STORAGE_ACCESS_KEY_2)" \
MOONCAKE_STORAGE_ACCESS_KEY="$(MOONCAKE_STORAGE_ACCESS_KEY)" \
LINUX_REPO_PASSWORD="$(LINUX_REPO_PASSWORD)" \
./repoapi_client.sh -config apt-config.json -addfile $DEB_PATH
fi
# Submit to yum repo (disabled as it's manual until signing is automated)
# eval echo '{ \"server\": \"azure-apt-cat.cloudapp.net\", \"protocol\": \"https\", \"port\": \"443\", \"repositoryId\": \"58a4ae3542421134a1a48d1b\", \"username\": \"vscode\", \"password\": \"$LINUX_REPO_PASSWORD\" }' > yum-config.json
# ./repoapi_client.sh -config yum-config.json -addfile $RPM_PATH
popd
echo "To check repo publish status run ./repoapi_client.sh -config config.json -check <id>"
fi
fi
fi
\ No newline at end of file
build/tfs/linux/release.sh
已删除
100755 → 0
浏览文件 @
72d7345e
#!/bin/bash
set
-e
# Arguments
ARCH
=
"
$1
"
LINUX_REPO_PASSWORD
=
"
$2
"
# Variables
PLATFORM_LINUX
=
"linux-
$ARCH
"
PLATFORM_DEB
=
"linux-deb-
$ARCH
"
PLATFORM_RPM
=
"linux-rpm-
$ARCH
"
[[
"
$ARCH
"
==
"ia32"
]]
&&
DEB_ARCH
=
"i386"
||
DEB_ARCH
=
"amd64"
[[
"
$ARCH
"
==
"ia32"
]]
&&
RPM_ARCH
=
"i386"
||
RPM_ARCH
=
"x86_64"
REPO
=
"
`
pwd
`
"
ROOT
=
"
$REPO
/.."
BUILDNAME
=
"VSCode-
$PLATFORM_LINUX
"
BUILD
=
"
$ROOT
/
$BUILDNAME
"
BUILD_VERSION
=
"
$(
ls
$REPO
/.build/linux/deb/
$DEB_ARCH
/deb/ |
sed
-e
's/code-[a-z]*_//g'
-e
's/\.deb$//g'
)
"
[
-z
"
$VSCODE_QUALITY
"
]
&&
TARBALL_FILENAME
=
"code-
$BUILD_VERSION
.tar.gz"
||
TARBALL_FILENAME
=
"code-
$VSCODE_QUALITY
-
$BUILD_VERSION
.tar.gz"
TARBALL_PATH
=
"
$ROOT
/
$TARBALL_FILENAME
"
PACKAGEJSON
=
"
$BUILD
/resources/app/package.json"
VERSION
=
$(
node
-p
"require(
\"
$PACKAGEJSON
\"
).version"
)
rm
-rf
$ROOT
/code-
*
.tar.
*
(
cd
$ROOT
&&
tar
-czf
$TARBALL_PATH
$BUILDNAME
)
node build/tfs/common/publish.js
$VSCODE_QUALITY
$PLATFORM_LINUX
archive-unsigned
$TARBALL_FILENAME
$VERSION
true
$TARBALL_PATH
DEB_FILENAME
=
"
$(
ls
$REPO
/.build/linux/deb/
$DEB_ARCH
/deb/
)
"
DEB_PATH
=
"
$REPO
/.build/linux/deb/
$DEB_ARCH
/deb/
$DEB_FILENAME
"
node build/tfs/common/publish.js
$VSCODE_QUALITY
$PLATFORM_DEB
package
$DEB_FILENAME
$VERSION
true
$DEB_PATH
RPM_FILENAME
=
"
$(
ls
$REPO
/.build/linux/rpm/
$RPM_ARCH
/ |
grep
.rpm
)
"
RPM_PATH
=
"
$REPO
/.build/linux/rpm/
$RPM_ARCH
/
$RPM_FILENAME
"
node build/tfs/common/publish.js
$VSCODE_QUALITY
$PLATFORM_RPM
package
$RPM_FILENAME
$VERSION
true
$RPM_PATH
# SNAP_FILENAME="$(ls $REPO/.build/linux/snap/$ARCH/ | grep .snap)"
# SNAP_PATH="$REPO/.build/linux/snap/$ARCH/$SNAP_FILENAME"
IS_FROZEN
=
"
$(
node build/tfs/linux/frozen-check.js
$VSCODE_QUALITY
)
"
if
[
-z
"
$VSCODE_QUALITY
"
]
;
then
echo
"VSCODE_QUALITY is not set, skipping repo package publish"
elif
[
"
$IS_FROZEN
"
=
"true"
]
;
then
echo
"
$VSCODE_QUALITY
is frozen, skipping repo package publish"
else
if
[
"
$BUILD_SOURCEBRANCH
"
=
"master"
]
||
[
"
$BUILD_SOURCEBRANCH
"
=
"refs/heads/master"
]
;
then
if
[[
$BUILD_QUEUEDBY
=
*
"Project Collection Service Accounts"
*
||
$BUILD_QUEUEDBY
=
*
"Microsoft.VisualStudio.Services.TFS"
*
]]
;
then
# Write config files needed by API, use eval to force environment variable expansion
pushd
build/tfs/linux
# Submit to apt repo
if
[
"
$DEB_ARCH
"
=
"amd64"
]
;
then
eval echo
'{ \"server\": \"azure-apt-cat.cloudapp.net\", \"protocol\": \"https\", \"port\": \"443\", \"repositoryId\": \"58a4adf642421134a1a48d1a\", \"username\": \"vscode\", \"password\": \"$LINUX_REPO_PASSWORD\" }'
>
apt-config.json
./repoapi_client.sh
-config
apt-config.json
-addfile
$DEB_PATH
fi
# Submit to yum repo (disabled as it's manual until signing is automated)
# eval echo '{ \"server\": \"azure-apt-cat.cloudapp.net\", \"protocol\": \"https\", \"port\": \"443\", \"repositoryId\": \"58a4ae3542421134a1a48d1b\", \"username\": \"vscode\", \"password\": \"$LINUX_REPO_PASSWORD\" }' > yum-config.json
# ./repoapi_client.sh -config yum-config.json -addfile $RPM_PATH
popd
echo
"To check repo publish status run ./repoapi_client.sh -config config.json -check <id>"
fi
fi
fi
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录