2017-03-09 15:12:01 -05:00
|
|
|
# VM setup - Create docker image
|
|
|
|
|
|
|
|
|
2020-05-02 09:14:11 -04:00
|
|
|
## Install git, Node.js and yarn
|
|
|
|
- `sudo apt-get update`
|
|
|
|
- `sudo apt-get install -y git`
|
2020-05-08 08:44:47 -04:00
|
|
|
- Install the latest stable version of [Node.js](https://nodejs.org/en/download).
|
|
|
|
- Install the latest stable version of [yarn](https://classic.yarnpkg.com/en/docs/install).
|
2018-05-09 13:54:53 -04:00
|
|
|
|
|
|
|
|
2017-03-09 15:12:01 -05:00
|
|
|
## Checkout repository
|
|
|
|
- `git clone <repo-url>`
|
|
|
|
|
|
|
|
|
|
|
|
## Build docker image
|
2017-05-17 10:08:16 -04:00
|
|
|
- `<aio-builds-setup-dir>/scripts/create-image.sh [<name>[:<tag>] [--build-arg <NAME>=<value> ...]]`
|
2017-03-09 15:12:01 -05:00
|
|
|
- You can overwrite the default environment variables inside the image, by passing new values using
|
|
|
|
`--build-arg`.
|
|
|
|
|
2020-05-08 08:44:47 -04:00
|
|
|
**Note 1:** The script has to execute docker commands with `sudo`.
|
|
|
|
|
|
|
|
**Note 2:**
|
|
|
|
The script has to execute `yarn` commands, so make sure `yarn` is on the `PATH` when invoking the
|
|
|
|
script.
|
2017-03-09 15:12:01 -05:00
|
|
|
|
|
|
|
|
|
|
|
## Example
|
|
|
|
The following commands would create a docker image from GitHub repo `foo/bar` to be deployed on the
|
|
|
|
`foobar-builds.io` domain and accepting PR deployments from authors that are members of the
|
|
|
|
`bar-core` and `bar-docs-authors` teams of organization `foo`:
|
|
|
|
|
|
|
|
- `git clone https://github.com/foo/bar.git foobar`
|
|
|
|
- Run:
|
2020-05-02 09:14:11 -04:00
|
|
|
```sh
|
2018-08-15 16:29:04 -04:00
|
|
|
./foobar/aio-builds-setup/scripts/create-image.sh foobar-builds \
|
2017-03-09 15:12:01 -05:00
|
|
|
--build-arg AIO_REPO_SLUG=foo/bar \
|
|
|
|
--build-arg AIO_DOMAIN_NAME=foobar-builds.io \
|
|
|
|
--build-arg AIO_GITHUB_ORGANIZATION=foo \
|
2017-06-18 18:15:07 -04:00
|
|
|
--build-arg AIO_GITHUB_TEAM_SLUGS=bar-core,bar-docs-authors
|
2017-03-09 15:12:01 -05:00
|
|
|
```
|
|
|
|
|
|
|
|
A full list of the available environment variables can be found
|
|
|
|
[here](image-config--environment-variables.md).
|