# Cloud Run - Deploy de container sem CI/CD

### Criando o repositório e subindo a imagem

* Criar um repositório no Artifact Registry para hospedarmos nossa imagem em Docker:<br>

  ```
    gcloud artifacts repositories create REPOSITORY \
        --repository-format=docker \
        --location=LOCATION \
        --description="Sua descrição" \
        --kms-key=KMS-KEY
  ```

  \
  Dica: para ver todas as locations disponíveis para criação de seu repositório, utilize:<br>

  ```
  gcloud artifacts locations list
  ```

* Configurar o Docker para reconhecer o gcloud como o auxiliar de credencial para o domínio Artifact Registry associado ao local deste repositório:<br>

  ```
  gcloud auth configure-docker LOCATION-docker.pkg.dev
  ```

* Criar o arquivo de Dockerfile localmente e efetuar o build da imagem:

  ```
  docker build -t suaimagem .
  ```

* Marcar a imagem local com o caminho completo do repositório:<br>

  ```
  docker tag suaimagem LOCATION-docker.pkg.dev/ID-PROJETO/REPOSITORIO/suaimagem:TAG
  ```

* Enviar a imagem para o repositório remoto:<br>

  ```
  docker push LOCATION-docker.pkg.dev/ID-PROJETO/REPOSITORIO/suaimagem:TAG
  ```

### Criando o serviço e fazendo deploy de nossa imagem

* Para criarmos o serviço no Cloud Run utilizando a imagem que acabamos de subir para o Artifact Registry, é muito simples, basta executarmos o comando abaixo:\ <br>

  ```
  gcloud run deploy nome-do-servico --image LOCATION-docker.pkg.dev/ID-PROJETO/REPOSITORIO/suaimagem:T
  ```

### Finalizando

Seu serviço já deve estar implantado com sucesso no Cloud Run, para fazer alterações no código/imagem, basta buildar novamente a imagem, marcar e enviar para o repositório.\
\
No Cloud Run, para atualizar o deploy, é possível fazer pela console, utilizando o botão "Editar e implementar uma nova revisão", ou executando o mesmo comando da criação do serviço (com o mesmo nome).
