forked from IBM-Blockchain/blockchain-vscode-extension
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Build Docker image using code-server (contributes to IBM-Blockchain#1494
- Loading branch information
Simon Stone
committed
Nov 18, 2019
1 parent
28585df
commit 98ba1fb
Showing
6 changed files
with
121 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# | ||
# SPDX-License-Identifier: Apache-2.0 | ||
# | ||
*.vsix |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
# | ||
# SPDX-License-Identifier: Apache-2.0 | ||
# | ||
FROM codercom/code-server:v2 | ||
# Revert back to root | ||
USER root | ||
# Add essential build dependencies | ||
RUN apt-get update && \ | ||
apt-get -y install build-essential python && \ | ||
rm -rf /var/lib/apt/lists/* | ||
# Install Go and the various Go dependencies | ||
RUN wget -qO go1.13.4.linux-amd64.tar.gz https://dl.google.com/go/go1.13.4.linux-amd64.tar.gz && \ | ||
tar xzvf go1.13.4.linux-amd64.tar.gz -C /usr/local && \ | ||
rm go1.13.4.linux-amd64.tar.gz | ||
ENV PATH /usr/local/go/bin:${PATH} | ||
RUN GOPATH=/tmp/go go get github.com/mdempsky/gocode \ | ||
github.com/uudashr/gopkgs/cmd/gopkgs \ | ||
github.com/ramya-rao-a/go-outline \ | ||
github.com/acroca/go-symbols \ | ||
golang.org/x/tools/cmd/guru \ | ||
golang.org/x/tools/cmd/gorename \ | ||
github.com/go-delve/delve/cmd/dlv \ | ||
github.com/stamblerre/gocode \ | ||
github.com/rogpeppe/godef \ | ||
github.com/sqs/goreturns \ | ||
golang.org/x/lint/golint && \ | ||
tar cf - -C /tmp/go/bin . | tar xf - -C /usr/local/bin && \ | ||
rm -rf /tmp/go | ||
# Install Java | ||
RUN mkdir /usr/local/java && \ | ||
wget -qO OpenJDK8U-jdk_x64_linux_hotspot_8u232b09.tar.gz https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jdk_x64_linux_hotspot_8u232b09.tar.gz && \ | ||
tar xzvf OpenJDK8U-jdk_x64_linux_hotspot_8u232b09.tar.gz --strip 1 -C /usr/local/java && \ | ||
rm OpenJDK8U-jdk_x64_linux_hotspot_8u232b09.tar.gz | ||
ENV PATH /usr/local/java/bin:${PATH} | ||
# Install Node.js | ||
RUN mkdir /usr/local/node && \ | ||
wget -qO node-v10.17.0-linux-x64.tar.xz https://nodejs.org/dist/latest-v10.x/node-v10.17.0-linux-x64.tar.xz && \ | ||
tar xJvf node-v10.17.0-linux-x64.tar.xz --strip 1 -C /usr/local/node && \ | ||
rm node-v10.17.0-linux-x64.tar.xz | ||
ENV PATH /usr/local/node/bin:${PATH} | ||
# Install other extensions for Visual Studio Code | ||
RUN code-server --extensions-dir /usr/local/extensions --install-extension ms-vscode.go && \ | ||
code-server --extensions-dir /usr/local/extensions --install-extension vscjava.vscode-java-pack | ||
# Install our extension for Visual Studio Code | ||
COPY ibm-blockchain-platform-docker.vsix /tmp/ | ||
RUN code-server --extensions-dir /usr/local/extensions --install-extension /tmp/ibm-blockchain-platform-docker.vsix && \ | ||
cd /usr/local/extensions/ibmblockchain.ibm-blockchain-platform-* && \ | ||
npm rebuild | ||
# Create a user which doesn't have sudo access | ||
RUN useradd -m -s /bin/bash vscode | ||
ADD vscode.sh /usr/local/bin/ | ||
USER vscode | ||
WORKDIR /home/vscode | ||
ENTRYPOINT ["/usr/local/bin/vscode.sh"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
#!/usr/bin/env bash | ||
# | ||
# SPDX-License-Identifier: Apache-2.0 | ||
# | ||
set -ex | ||
ROOT=$(git rev-parse --show-toplevel) | ||
cd ${ROOT} | ||
cp -f package.json package.json.orig | ||
trap "cd ${ROOT}; cp -f package.json.orig package.json; rm -f package.json.orig" EXIT | ||
npm ci --only=production | ||
npm install vsce | ||
npm run compile | ||
npm run productionFlag | ||
cat package.json.orig \ | ||
| jq '.contributes.configuration.properties."ibm-blockchain-platform.ext.bypassPreReqs".default = true' \ | ||
| jq '.contributes.configuration.properties."ibm-blockchain-platform.home.showOnStartup".default = false' \ | ||
| jq '(.actualActivationEvents.onView | map("onView:" + .)) as $onView | | ||
(.actualActivationEvents.onCommand | map("onCommand:" + .)) as $onCommand | | ||
(.actualActivationEvents.other) as $other | | ||
.activationEvents = $onView + $onCommand + $other' \ | ||
> package.json | ||
npm run package | ||
mv ibm-blockchain-platform-*.vsix docker/ibm-blockchain-platform-docker.vsix | ||
cd docker | ||
docker build -t ibmblockchain/vscode:latest . |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#!/usr/bin/env bash | ||
# | ||
# SPDX-License-Identifier: Apache-2.0 | ||
# | ||
set -ex | ||
if [ ! -r ~/.profile ]; then | ||
tar cf - -C /etc/skel . | tar xf - -C ~ | ||
fi | ||
exec dumb-init code-server --host 0.0.0.0 --extra-extensions-dir /usr/local/extensions --auth none |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters