- É necessário ter acesso aos namespaces no Rancher de produção e fazer o download do kubeconfig de produção. Para este exemplo, o kubeconfig de produção foi baixado e está localizado em
C:/Users/iciot/.kube/kubeprod
- Entender o básico de versionamento semântico
- Definir qual vai ser a tag da nova versão. Para isso, é necessário observar no Rancher qual é a versão atual do deployment
Exemplo: digamos vamos fazer o deploy de uma correção de bug no socialproof. Observando no rancher, vemos que a versão atual é v1.2.0 https://prnt.sc/To6w6BebBC3e. Logo, baseado no versionamento semântico a nova versão será a v1.2.1
-
Edite o arquivo de deployment
/.kube/production/socialproof-deployment.yaml
e os cronjobs (se necessário) substituíndo a tag atual pela nova tag -
Merge
develop
>homolog
e push -
Com o código na
homolog
, antes de gerar a versão da tag de produção, temos que gerar a tag rc (release candidate). Para isso, basta adicionar uma tag e fazer o push dela.
Neste exemplo, devemos adicionar a tag
v1.2.1-rc
por se tratar de uma versão release candidate
-
Após adicionar a tag rc e fazer o push, a GitHub action automaticamente vai fazer deploy daquela tag no ambiente de homologação
[myapp].kub.app.builderall.info
-
Agora que já temos a versão release candidate, basta "tagear" ela como versão de release e aplicar em produção. Este processo ainda não é automatizado, então neste momento tem que ser feito manualmente. Vamos remover o "rc" da tag para torná-la estável com os comandos:
docker pull baimages/socialproof:v1.2.1-rc
docker tag baimages/socialproof:v1.2.1-rc baimages/socialproof:v1.2.1
docker push baimages/socialproof:v1.2.1
- Aplique o arquivo no deployment de produção:
kubectl config set-context --current --namespace=socialproof --kubeconfig=C:/Users/iciot/.kube/kubeprod
kubectl apply -f ./.kube/production/socialproof-deployment.yaml --kubeconfig=C:/Users/iciot/.kube/kubeprod
Observe que o parâmetro --kubeconfig deve ser o endereço local do seu arquivo .kubeconfig de produção
Para ajudar na geração dos comandos utilizados nos passos 5 e 6, você pode usar este link
- Merge
homolog
>main
e push