Skip to content

Commit

Permalink
AC-1133: Documentation: Separated windows installation instructions (#…
Browse files Browse the repository at this point in the history
…199)

- Introduced separate documents with installation instructions for Windows
- Updated all the related links
- Updated demo shop version in installation guides
  • Loading branch information
andriitserkovnyi authored Mar 22, 2021
1 parent 61c0e87 commit 5c52f44
Show file tree
Hide file tree
Showing 11 changed files with 294 additions and 72 deletions.
8 changes: 4 additions & 4 deletions docs/01-quick-start-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ For solutions to common issues, see [Troubleshooting](09-troubleshooting.md).


## What documents should I use to start developing and configuring my project?
[02-development-usage]
[99-deploy.file.reference.v1.md]
[10-configuration-reference.md]
[06-configuring-services.md]
<!--- [02-development-usage] --->
[Deploy file reference — 1.0](99-deploy-file-reference.md)
[Configuration reference](10-configuration-reference.md)
[Configuring servces](06-configuring-services.md)
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ brew install mutagen-io/mutagen/mutagen-beta

See [Chossing an installation mode](../02-installation-guides/01-choosing-an-installation-mode.md) to choose an installation mode.
If you've already selected an installation mode, follow one of the guides below:
* [Installing in Development mode](../02-installation-guides/02-installing-in-development-mode.md)
* [Installing in Demo mode](../02-installation-guides/03-installing-in-demo-mode.md)
* [Integrating the Docker SDK into existing projects](../02-installation-guides/04-integrating-the-docker-sdk-into-existing-projects.md)
* [Running production](../02-installation-guides/05-running-production.md)
* [Installing in Development mode on MacOS and Linux](../02-installation-guides/02-installing-in-development-mode-on-macos-and-linux.md)
* [Installing in Demo mode on MacOS and Linux](../02-installation-guides/04-installing-in-demo-mode-on-macos-and-linux.md)
* [Integrating the Docker SDK into existing projects](../02-installation-guides/06-integrating-the-docker-sdk-into-existing-projects.md)
* [Running production](../02-installation-guides/07-running-production.md)
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,10 @@ You've installed and configured the required software.

## Next steps


See [Chossing an installation mode](../02-installation-guides/01-choosing-an-installation-mode.md) to choose an installation mode.
If you've already selected an installation mode, follow one of the guides below:
* [Installing in Development mode](../02-installation-guides/02-installing-in-development-mode.md)
* [Installing in Demo mode](../02-installation-guides/03-installing-in-demo-mode.md)
* [Integrating the Docker SDK into existing projects](../02-installation-guides/04-integrating-the-docker-sdk-into-existing-projects.md)
* [Running production](../02-installation-guides/05-running-production.md)
* [Installing in Development mode on MacOS and Linux](../02-installation-guides/02-installing-in-development-mode-on-macos-and-linux.md)
* [Installing in Demo mode on MacOS and Linux](../02-installation-guides/04-installing-in-demo-mode-on-macos-and-linux.md)
* [Integrating the Docker SDK into existing projects](../02-installation-guides/06-integrating-the-docker-sdk-into-existing-projects.md)
* [Running production](../02-installation-guides/07-running-production.md)
Original file line number Diff line number Diff line change
Expand Up @@ -244,9 +244,10 @@ You've installed and configured the required software.
## Next steps
See [Chossing an installation mode](../02-installation-guides/01-choosing-an-installation-mode.md) to choose an installation mode.
If you've already selected an installation mode, follow one of the guides below:
* [Installing in Development mode](../02-installation-guides/02-installing-in-development-mode.md)
* [Installing in Demo mode](../02-installation-guides/03-installing-in-demo-mode.md)
* [Integrating the Docker SDK into existing projects](../02-installation-guides/04-integrating-the-docker-sdk-into-existing-projects.md)
* [Running production](../02-installation-guides/05-running-production.md)
* [Installing in Development mode on Windows](../02-installation-guides/03-installing-in-development-mode-on-windows.md)
* [Installing in Demo mode on MacOS and Linux](../02-installation-guides/05-installing-in-demo-mode-on-windows.md)
* [Integrating the Docker SDK into existing projects](../02-installation-guides/06-integrating-the-docker-sdk-into-existing-projects.md)
* [Running production](../02-installation-guides/07-running-production.md)
Original file line number Diff line number Diff line change
Expand Up @@ -17,31 +17,38 @@ In this section, you can find installation guides for Spryker in Docker. Current

## What installation mode do I choose?

To install Spryker with all the tools for developing your project, go with the Development mode. See [Installing in Development mode](02-installing-in-development-mode.md) for installation instructions.
To install Spryker with all the tools for developing your project, go with the Development mode. Depending on your OS, see one of the following guides for installation instructions:
* [Installing in Development mode on MacOS and Linux](02-installing-in-development-mode-on-macos-and-linux.md)
* [Installing in Development mode on Windows](03-installing-in-development-mode-on-windows.md)

To check out Spryker features and how Spryker works in general, go with the Demo mode. See [Installing in Demo mode](03-installing-in-demo-mode.md) for installation instructions.
To check out Spryker features and how Spryker works in general, go with the Demo mode. Depending on your OS, see one of the following guides for installation instructions:
* [Installing in Demo mode on MacOS and Linux](04-installing-in-demo-mode-on-macos-and-linux.md)
* [Installing in Demo mode on Windows](05-installing-in-demo-mode-on-windows.md)

If you are already running a Spryker project with another solution like Vagrant, and you want to switch to Docker, see [Integrating the Docker SDK into existing projects](04-integrating-the-docker-sdk-into-existing-projects.md).
If you are already running a Spryker project with another solution like Vagrant, and you want to switch to Docker, see [Integrating the Docker SDK into existing projects](06-integrating-the-docker-sdk-into-existing-projects.md).

To launch a live Spryker project based on Docker, see [Running production](05-running-production.md).
To launch a live Spryker project based on Docker, see [Running production](07-running-production.md).

Find more details about each mode below.



## Development mode
Development mode is a configuration in which Spryker is built and running with development tools and file synchronization. Learn about Development mode below or follow [Installing in Development mode](02-installing-in-development-mode.md) to Install Spryker in this mode.
Development mode is a configuration in which Spryker is built and running with development tools and file synchronization.

### Use cases
Develpment mode is used in the following cases:
* To learn how Spryker works.
* To develop a new functionality.
* To debug a functionality.

### Development mode installation guides

See one of the following guides to install Spryker in Development mode:
* [Installing in Development mode on MacOS and Linux](02-installing-in-development-mode-on-macos-and-linux.md)
* [Installing in Development mode on Windows](03-installing-in-development-mode-on-windows.md)

## Demo mode
Demo mode is a configuration in which Spryker is built and running without development tools, like file synchronization. As a result, Docker images in this mode are smaller. Learn about Demo mode below or follow [Installing in Demo mode](03-installing-in-demo-mode.md) to install Spryker in this mode.
Demo mode is a configuration in which Spryker is built and running without development tools, like file synchronization. As a result, Docker images in this mode are smaller.

In Demo mode, the following functionalities are missing or disabled:
1. Swagger UI service
Expand All @@ -54,20 +61,28 @@ Demo mode is used in the following cases:
* To check a custom build or a new feature.
* To test or deploy an application using Continuous Integration and Continuous Delivery tools.

### Demo mode installation guides

See one of the following guides to install Spryker in Demo mode:
* [Installing in Demo mode on MacOS and Linux](04-installing-in-demo-mode-on-macos-and-linux.md)
* [Installing in Demo mode on Windows](05-installing-in-demo-mode-on-windows.md)

## Integrating the Docker SDK into existing projects

If you are already running a Spryker project based on Development Virtual Machine or any other solution, you can convert it into a Docker based project.
Learn how to convert a project into a Docker based instance in [Integrating the Docker SDK into existing projects](04-integrating-the-docker-sdk-into-existing-projects.md).
Learn how to convert a project into a Docker based instance in [Integrating the Docker SDK into existing projects](06-integrating-the-docker-sdk-into-existing-projects.md).

## Running production

Currently, there is no installation guide for deploying Spryker in Docker in a production environment. But you can generate the images suitable for a production environment and the archives with assets for each application - Yves, Zed and Glue.

Learn how to generate Docker images and assets for a production environment in [Running production](05-running-production.md).
Learn how to generate Docker images and assets for a production environment in [Running production](07-running-production.md).

## Next steps
Once you've selected and installation mode, follow one of the guides below:
* [Installing in Development mode](02-installing-in-development-mode.md)
* [Installing in Demo mode](03-installing-in-demo-mode.md)
* [Integrating the Docker SDK into existing projects](04-integrating-the-docker-sdk-into-existing-projects.md)
* [Running production](05-running-production.md)
* [Installing in Development mode on MacOS and Linux](02-installing-in-development-mode-on-macos-and-linux.md)
* [Installing in Development mode on Windows](03-installing-in-development-mode-on-windows.md)
* [Installing in Demo mode on MacOS and Linux](04-installing-in-demo-mode-on-macos-and-linux.md)
* [Installing in Demo mode on Windows](05-installing-in-demo-mode-on-windows.md)
* [Integrating the Docker SDK into existing projects](06-integrating-the-docker-sdk-into-existing-projects.md)
* [Running production](07-running-production.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
This document describes how to install Spryker in [Development Mode](01-choosing-an-installation-mode.md#development-mode) on MacOS and Linux.

## Installing Docker prerequisites on MacOS and Linux

To install Docker prerequisites, follow one of the guides:
* [Installing Docker prerequisites on MacOS](../01-installation-prerequisites/01-installing-docker-prerequisites-on-macos.md)
* [Installing Docker prerequisites on Linux](../01-installation-prerequisites/01-installing-docker-prerequisites-on-linux.md)




## Installing Spryker in Development mode on MacOS and Linux
Follow the steps to install Spryker in Development mode:


1. Open a terminal.
2. Create a new folder and navigate into it.
3. Depending on the desired [Demo Shop](https://documentation.spryker.com/docs/en/about-spryker#spryker-b2b-b2c-demo-shops):

a. Clone the B2C repository:

```bash
git clone https://github.com/spryker-shop/b2c-demo-shop.git -b 202009.0-p1 --single-branch ./
```

b. Clone the B2B repository:

```bash
git clone https://github.com/spryker-shop/b2b-demo-shop.git -b 202009.0-p1 --single-branch ./
```

4. Depending on the repository you've cloned, navigate into the cloned folder:
* B2C repository:
```bash
cd b2c-demo-shop
```
* B2B repository:
```bash
cd b2b-demo-shop
```
:::(Warning) (Verification)
Make sure that you are in the correct folder by running the `pwd` command.
:::
5. In `deploy.dev.yml`, define `image:` with the PHP image compatible with the current release of the Demo Shop:
```yaml
image: spryker/php:7.3-alpine3.12
```
6. Clone the Docker SDK repository:
```bash
git clone https://github.com/spryker/docker-sdk.git --single-branch docker
```
:::(Warning) (Verification)
Make sure `docker 18.09.1+` and `docker-compose 1.23+` are installed:
```bash
$ docker version
$ docker-compose --version
```
:::
7. Bootstrap local docker setup:
```bash
docker/sdk bootstrap deploy.dev.yml
```
:::(Warning) (Bootstrap)
Once you finish the setup, you don't need to run `bootstrap` to start the instance. You only need to run it after you update the Docker SDK or the deploy file.
:::

8. Once the job finishes, build and start the instance:
```bash
docker/sdk up
```

9. Update the `hosts` file:
```bash
echo "127.0.0.1 zed.de.spryker.local yves.de.spryker.local glue.de.spryker.local zed.at.spryker.local yves.at.spryker.local glue.at.spryker.local zed.us.spryker.local yves.us.spryker.local glue.us.spryker.local mail.spryker.local scheduler.spryker.local queue.spryker.local" | sudo tee -a /etc/hosts
```
@(Info)()(If needed, add corresponding entries for other stores. For example, if you are going to have a US store, add the following entries: `zed.us.spryker.local glue.us.spryker.local yves.us.spryker.local`)

@(Warning)()(Depending on the hardware performance, the first project launch can take up to 20 minutes.)

## Endpoints

To ensure that the installation is successful, make sure you can access the following endpoints.

| Application | Endpoints |
| --- | --- |
| The Storefront | yves.de.spryker.local, yves.at.spryker.local, yves.us.spryker.local |
| the Back Office | zed.de.spryker.local, zed.at.spryker.local, zed.us.spryker.local |
| Glue API | glue.de.spryker.local, glue.at.spryker.local, glue.us.spryker.local |
| Jenkins (scheduler) | scheduler.spryker.local |
| RabbitMQ UI (queue manager) | queue.spryker.local |
| Mailhog UI (email catcher) | mail.spryker.local |

:::(Info) (RabbitMQ UI credentials)
To access RabbitMQ UI, use `spryker` as a username and `secret` as a password. You can adjust the credentials in `deploy.yml`. See [Deploy file reference - 1.0](../../99-deploy.file.reference.v1.md) to learn about the Deploy file.
:::

## Getting the list of useful commands

To get the full and up-to-date list of commands, run `docker/sdk help`.

## Next steps

* [Troubleshooting](../../troubleshooting.md)
* [Configuring debugging](../../02-development-usage/05-configuring-debugging.md)
* [Deploy file reference - 1.0](../../99-deploy.file.reference.v1.md)
* [Configuring services](../../06-configuring-services.md)
* [Setting up a self-signed SSL certificate](https://documentation.spryker.com/docs/setting-up-a-self-signed-ssl-certificate)
* [Additional DevOPS guidelines](https://documentation.spryker.com/docs/additional-devops-guidelines)
Original file line number Diff line number Diff line change
@@ -1,33 +1,30 @@
This document describes how to install Spryker in [Development Mode](01-choosing-an-installation-mode.md#development-mode).
This document describes how to install Spryker in [Development Mode](01-choosing-an-installation-mode.md#development-mode) on Windows.

## Installing Docker prerequisites
## Installing Docker prerequisites on Windows

To install Docker prerequisites, follow one of the guides:
* [Installing Docker prerequisites on MacOS](../01-installation-prerequisites/01-installing-docker-prerequisites-on-macos.md)
* [Installing Docker prerequisites on Linux](../01-installation-prerequisites/01-installing-docker-prerequisites-on-linux.md)
* [Installing Docker prerequisites on Windows](../01-installation-prerequisites/01-installing-docker-prerequisites-on-windows.md)
To install Docker prerequisites for Windows, follow [Installing Docker prerequisites on Windows](../01-installation-prerequisites/01-installing-docker-prerequisites-on-windows.md).




## Installing Spryker in Development mode
## Installing Spryker in Development mode on Windows
Follow the steps to install Spryker in Development mode:

1. Windows: Open Ubuntu.
1. Open Ubuntu.
2. Open a terminal.
3. Create a new folder and navigate into it.
4. Depending on the desired [Demo Shop](https://documentation.spryker.com/docs/en/about-spryker#spryker-b2b-b2c-demo-shops):

a. Clone the B2C repository:

```bash
git clone https://github.com/spryker-shop/b2c-demo-shop.git -b 202009.0 --single-branch ./
git clone https://github.com/spryker-shop/b2c-demo-shop.git -b 202009.0-p1 --single-branch ./
```

b. Clone the B2B repository:

```bash
git clone https://github.com/spryker-shop/b2b-demo-shop.git -b 202009.0 --single-branch ./
git clone https://github.com/spryker-shop/b2b-demo-shop.git -b 202009.0-p1 --single-branch ./
```

5. Depending on the repository you've cloned, navigate into the cloned folder:
Expand Down Expand Up @@ -63,13 +60,13 @@ $ docker-compose --version
```
:::
8. Windows: In Ubuntu, change line 7 of `{shop_name}/docker/context/php/debug/etc/php/debug.conf.d/69-xdebug.ini` to the following:
8. Change line 7 of `{shop_name}/docker/context/php/debug/etc/php/debug.conf.d/69-xdebug.ini` to the following:
```text
xdebug.remote_host=host.docker.internal
```
9. Windows: Add your user to the `docker` group:
9. Add your user to the `docker` group:
```bash
sudo usermod -aG docker $USER
Expand All @@ -89,13 +86,6 @@ docker/sdk up
```

12. Update the `hosts` file:

- Linux/MacOS:
```bash
echo "127.0.0.1 zed.de.spryker.local yves.de.spryker.local glue.de.spryker.local zed.at.spryker.local yves.at.spryker.local glue.at.spryker.local zed.us.spryker.local yves.us.spryker.local glue.us.spryker.local mail.spryker.local scheduler.spryker.local queue.spryker.local" | sudo tee -a /etc/hosts
```
@(Info)()(If needed, add corresponding entries for other stores. For example, if you are going to have a US store, add the following entries: `zed.us.spryker.local glue.us.spryker.local yves.us.spryker.local`)
- Windows:
1. Open the Start menu.
2. In the search field, enter `Notepad`.
3. Right-click *Notepad* and select **Run as administrator**.
Expand Down Expand Up @@ -129,7 +119,7 @@ To ensure that the installation is successful, make sure you can access the foll
| Mailhog UI (email catcher) | mail.spryker.local |

:::(Info) (RabbitMQ UI credentials)
To access RabbitMQ UI, use `spryker` as a username and `secret` as a password. You can adjust the credentials in `deploy.yml`. See [Deploy File Reference - 1.0](../../99-deploy.file.reference.v1.md) to learn about the Deploy file.
To access RabbitMQ UI, use `spryker` as a username and `secret` as a password. You can adjust the credentials in `deploy.yml`. See [Deploy file reference - 1.0](../../99-deploy.file.reference.v1.md) to learn about the Deploy file.
:::

## Getting the list of useful commands
Expand All @@ -140,7 +130,7 @@ To get the full and up-to-date list of commands, run `docker/sdk help`.

* [Troubleshooting](../../troubleshooting.md)
* [Configuring debugging](../../02-development-usage/05-configuring-debugging.md)
* [Deploy File Reference - 1.0](../../99-deploy.file.reference.v1.md)
* [Deploy file reference - 1.0](../../99-deploy.file.reference.v1.md)
* [Configuring services](../../06-configuring-services.md)
* [Setting up a self-signed SSL certificate](https://documentation.spryker.com/docs/setting-up-a-self-signed-ssl-certificate)
* [Additional DevOPS guidelines](https://documentation.spryker.com/docs/additional-devops-guidelines)
Loading

0 comments on commit 5c52f44

Please sign in to comment.