An open API service indexing awesome lists of open source software.

https://github.com/devdrops/serverless-php

Código fonte da palestra sobre Serverless e PHP.
https://github.com/devdrops/serverless-php

Last synced: about 2 months ago
JSON representation

Código fonte da palestra sobre Serverless e PHP.

Awesome Lists containing this project

README

        

# Serverless - PHP

Código fonte da palestra sobre Serverless e PHP (:computer::no_entry_sign: && :elephant:).

## Requisitos do Ambiente

- Conta criada no [IBM Cloud](https://www.ibm.com/cloud/)
- Crie e configure sua Org e Space corretamente.
- Docker e Docker Compose

## Instruções

### Iniciando o Ambiente

1. Copie o arquivo `.env.dist` para `.env`, neste mesmo diretório.
2. Insira sua API Key (obtida no seu [painel do IBM Cloud](https://console.bluemix.net/openwhisk/learn/api-key)) no arquivo `.env`, da seguinte forma:

```
IBM_APIKEY=InsiraAquiSUaIBMCloudAPIKey
IBM_ORG=InsiraAquiSuaOrgDoIBMCloud
IBM_SPACE=InsiraAquiASpaceDesejadaDoIBMCloud
```

3. Execute o comando para acessar o ambiente:

```sh
docker-compose run --rm env bash
```

4. Uma vez no ambiente, faça seu login na IBM Cloud pelo comando abaixo (será necessário selecionar a região definida na sua conta do IBM Cloud, conforme o prompt do IBM Cloud CLI):

```sh
root@bd1fcdca65a6:/code# ibmcloud login --apikey $IBM_APIKEY

Select an API endpoint:

1. eu-de - https://api.eu-de.bluemix.net
2. au-syd - https://api.au-syd.bluemix.net
3. us-east - https://api.us-east.bluemix.net
4. us-south - https://api.ng.bluemix.net
5. eu-gb - https://api.eu-gb.bluemix.net
6. Enter a different API endpoint
Enter a number> 1
Authenticating...
OK
```

5. Em seguida, é preciso definir para o CLI quais as Org e Space a usar, pelo comando abaixo:

```sh
bx target -o $IBM_ORG -s $IBM_SPACE
```

### Criando sua função Serverless

1. Agora com o ambiente pronto, execute o seguinte comando:

```sh
sls create --template openwhisk-php --path ow-php-hello
```

2. Para editar os arquivos gerados de template do Serverless na sua máquina, fora do ambiente Docker, execute o comando:

```sh
cd ow-php-hello
sudo chmod 666 serverless.yml handler.php
```

Essa permissão é importante para que você edite na sua máquina os arquivos criados dentro do ambiente Docker. Agora, você pode editar seus arquivos da forma como você quiser.

### Deploy da função

1. Antes de seguir, é preciso instalar as dependências do framework Serverless. Dentro do ambiente Docker, execute o comando:

```sh
cd ow-php-hello
npm install
```

2. Depois, para configurar as credenciais do IBM Cloud, no seu ambiente Docker, execute o comando:

```sh
bx wsk api list
```

3. Para fazer o deploy, no ambiente de Docker, execute o comando:

```sh
cd ow-php-hello
sls deploy
```