aboutsummaryrefslogtreecommitdiffstats
path: root/docs/part-2/1_xds-server/3_build.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/part-2/1_xds-server/3_build.md')
-rw-r--r--docs/part-2/1_xds-server/3_build.md73
1 files changed, 73 insertions, 0 deletions
diff --git a/docs/part-2/1_xds-server/3_build.md b/docs/part-2/1_xds-server/3_build.md
new file mode 100644
index 0000000..8be3b33
--- /dev/null
+++ b/docs/part-2/1_xds-server/3_build.md
@@ -0,0 +1,73 @@
+# Build xds-server from scratch
+
+## Dependencies
+
+Install [Go](https://golang.org/doc/install), [npm](https://www.npmjs.com/),
+[nodejs](https://nodejs.org/en/) and some other tools.
+
+Refer to [Prerequisites chapter](../1_Prerequisites.html) for more details.
+
+## Building
+
+### Native build
+
+Create a GOPATH variable(must be a full path):
+
+```bash
+export GOPATH=$(realpath ~/workspace_go)
+```
+
+Clone this repo into your `$GOPATH/src/gerrit.automotivelinux.org/gerrit/src/xds` and use delivered Makefile:
+
+```bash
+export GOPATH=${GOPATH}:${ROOTDIR}
+
+mkdir -p $ROOTDIR/src/gerrit.automotivelinux.org/gerrit/src/xds
+cd $ROOTDIR/src/gerrit.automotivelinux.org/gerrit/src/xds
+git clone https://gerrit.automotivelinux.org/gerrit/src/xds/xds-server
+# or git clone ssh://YOUR_USERNAME@gerrit.automotivelinux.org:29418/src/xds/xds-server
+cd xds-server
+make all
+```
+
+And to install `xds-server` (by default in `/opt/AGL/xds/server`):
+
+```bash
+make install
+```
+
+<!-- warning -->
+**Warning:**
+
+Makefile install rule and default values in configuration file are set
+to fit the docker setup.
+
+So you may need to adapt some settings when you want to install xds-server natively.
+<!-- endwarning -->
+
+<!-- note -->
+**Note:**
+
+Used `DESTDIR` to specify another install directory
+
+```bash
+make install DESTDIR=$HOME/opt/xds-server
+```
+
+<!-- endnote -->
+
+### XDS docker image
+
+As an alternative to a pre-build image, you can rebuild the container from scratch.
+
+`xds-server` has been integrated as a flavour of AGL SDK docker image.
+
+So to rebuild docker image just execute following commands:
+
+```bash
+# Clone docker-worker-generator git repo
+git clone https://git.automotivelinux.org/AGL/docker-worker-generator
+# Start build that will create a docker image
+cd docker-worker-generator
+make build FLAVOUR=xds
+```