Código fonte da palestra sobre Serverless e PHP (:computer::no_entry_sign: && :elephant:).
Requisitos do Ambiente
- Conta criada no IBM Cloud
- Crie e configure sua Org e Space corretamente.
- Docker e Docker Compose
Instruções
Iniciando o Ambiente
- Copie o arquivo
.env.distpara.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
Criando sua função Serverless
- 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.phpEssa 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
- 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:
- Para fazer o deploy, no ambiente de Docker, execute o comando:
cd ow-php-hello
sls deploy