Código fonte da palestra sobre Serverless e PHP (:computer::no_entry_sign: && :elephant:).
- Conta criada no IBM Cloud
- Crie e configure sua Org e Space corretamente.
- Docker e Docker Compose
- Copie o arquivo
.env.dist
para.env
, neste mesmo diretório. - Insira sua API Key (obtida no seu painel do IBM Cloud) no arquivo
.env
, da seguinte forma:
IBM_APIKEY=InsiraAquiSUaIBMCloudAPIKey
IBM_ORG=InsiraAquiSuaOrgDoIBMCloud
IBM_SPACE=InsiraAquiASpaceDesejadaDoIBMCloud
- Execute o comando para acessar o ambiente:
docker-compose run --rm env bash
- 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):
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
- Em seguida, é preciso definir para o CLI quais as Org e Space a usar, pelo comando abaixo:
bx target -o $IBM_ORG -s $IBM_SPACE
- Agora com o ambiente pronto, execute o seguinte comando:
sls create --template openwhisk-php --path ow-php-hello
- Para editar os arquivos gerados de template do Serverless na sua máquina, fora do ambiente Docker, execute o comando:
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.
- Antes de seguir, é preciso instalar as dependências do framework Serverless. Dentro do ambiente Docker, execute o comando:
cd ow-php-hello
npm install
- Depois, para configurar as credenciais do IBM Cloud, no seu ambiente Docker, execute o comando:
bx wsk api list
- Para fazer o deploy, no ambiente de Docker, execute o comando:
cd ow-php-hello
sls deploy