summaryrefslogtreecommitdiffstats
path: root/docs/part-2/1_xds-server/1_build.md
diff options
context:
space:
mode:
authorJohann CAHIER <johann.cahier@iot.bzh>2018-10-09 10:45:08 +0200
committerJohann CAHIER <johann.cahier@iot.bzh>2018-10-11 13:38:39 +0200
commitbbbe9c168526bbb729022f9de903aff5690b328d (patch)
treee20b465e03d23d4c85a62dbfbc2aa1d8f8c13a4f /docs/part-2/1_xds-server/1_build.md
parent48374d29bcc3bcf2b055b49d56eac49247772271 (diff)
Improves documentation
* Describes better available source tree sharing method (between xds-agent and xds-server), and which to prefer depending on the deployment setup. * Gives indication about how to pass RSYNC_TARGET and RSYNC_PREFIX env vars to the helloworld-native-application build process. * Swap chapter order (build before config) Change-Id: Ie4c22f277a59b0405744d71b0fadff67c5d5d025 Signed-off-by: Johann CAHIER <johann.cahier@iot.bzh>
Diffstat (limited to 'docs/part-2/1_xds-server/1_build.md')
-rw-r--r--docs/part-2/1_xds-server/1_build.md84
1 files changed, 84 insertions, 0 deletions
diff --git a/docs/part-2/1_xds-server/1_build.md b/docs/part-2/1_xds-server/1_build.md
new file mode 100644
index 0000000..5c5059f
--- /dev/null
+++ b/docs/part-2/1_xds-server/1_build.md
@@ -0,0 +1,84 @@
+# 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
+
+Clone sources under `$ROOTDIR/src/gerrit.automotivelinux.org/gerrit/src/xds/xds-server`
+in order respect directory hierarchy that match Go package import logic (see
+[How to Write Go Code](https://golang.org/doc/code.html) for more details).
+
+Then use delivered Makefile :
+
+```bash
+# Declare ROOTDIR, can be any location (for example xds-build)
+ROOTDIR=$HOME/xds-build
+
+# Create directory hierarchy that match Go package import logic
+mkdir -p $ROOTDIR/src/gerrit.automotivelinux.org/gerrit/src/xds
+cd $ROOTDIR/src/gerrit.automotivelinux.org/gerrit/src/xds
+
+# Clone sources
+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
+
+# Build xds-server
+# (note that GOPATH will correctly be set by Makefile)
+cd xds-server
+make all
+```
+
+Generate xds-server package / tarball
+
+```bash
+make package-all
+```
+
+And to install `xds-server` (by default in `/opt/AGL/xds/server`):
+
+```bash
+make install
+```
+
+<!-- section-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.
+<!-- end-section-warning -->
+
+<!-- section-note -->
+**Note:**
+
+Used `DESTDIR` to specify another install directory
+
+```bash
+make install DESTDIR=$HOME/opt/xds-server
+```
+
+<!-- end-section-note -->
+
+### 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
+```