enso/tools/ci/README.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

71 lines
1.8 KiB
Markdown
Raw Normal View History

# CI Tools
2020-07-21 15:59:40 +03:00
This folder contains miscellaneous utilities for CI.
# Docker
## Building
A custom docker image requires a certain number of directories to be present
from a desired _edition_. The root directory of the docker build context can be
provided in the `docker build` command:
```bash
docker build \
-t runtime:latest \
-f tools/ci/docker/Dockerfile \
--build-context docker-tools=tools/ci/docker \
built-distribution/enso-engine-0.0.0-dev-linux-amd64/enso-0.0.0-dev
```
## Running
To start Language Server with a default configuration, run the built image and
mount the project directory:
```bash
docker run -it --rm \
--network=host \
--mount type=bind,src=~/Documents/enso-projects/NewProject,dst=/volumes/workspace/project_root \
runtime:latest
```
# Ydoc NodeJS Docker
## Building
To build a NodeJS-based Ydoc, you need to first ensure that you have the
distributable sources:
```bash
pnpm -r compile
```
the resulting artifacts are located in `app/ydoc-server-nodejs/dist` directory.
Having the right NodeJS sources in place, one can now build the docker image:
```bash
ocker build -t ydoc-server-nodejs:latest -f tools/ci/docker/ydoc-server/Dockerfile --build-context docker-tools=tools/ci/docker/ydoc-server app/ydoc-server-nodejs
```
## Running
One should always start Ydoc with the right configuration:
- PORT - the port number under which Ydoc will be available
- HOSTNAME - the hostname under which Ydoc will be available
- LANGUAGE_SERVER_URL - the full url (with port number) of the language server
to connect to
```bash
docker run -it -e PORT=1234 -e HOSTNAME='0.0.0.0' -e LANGUAGE_SERVER_URL=ws://localhost:59876 ydoc-server-nodejs:latest
```
When correctly setup the network layer one can also hit Ydoc's healthcheck
endpoint:
```bash
> curl http://${HOSTNAME}:${PORT}/_health
OK
```