<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Victor Hugo Faria Dias Magalhães]]></title><description><![CDATA[Victor Hugo Faria Dias Magalhães]]></description><link>https://blog.victordias.dev</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1623623338869/mK2aS6fpz.png</url><title>Victor Hugo Faria Dias Magalhães</title><link>https://blog.victordias.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 09:36:48 GMT</lastBuildDate><atom:link href="https://blog.victordias.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Removendo environments do Github]]></title><description><![CDATA[Uma das pequenas coisas que afetam bastante o dia a dia é quando uma pequena ação tem um resultado particularmente destrutivo e irreversível. Deixar sua xícara favorita cair pode ser uma dessas ações, caso a xícara quebre, suas imperfeições estéticas...]]></description><link>https://blog.victordias.dev/removendo-environments-do-github</link><guid isPermaLink="true">https://blog.victordias.dev/removendo-environments-do-github</guid><category><![CDATA[GitHub]]></category><category><![CDATA[tips]]></category><dc:creator><![CDATA[Victor Hugo Faria Dias Magalhães]]></dc:creator><pubDate>Mon, 14 Jun 2021 01:13:24 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1623632907515/4lGUUQhkw.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Uma das <em>pequenas</em> coisas que afetam bastante o dia a dia é quando uma pequena ação tem um resultado particularmente destrutivo e <em>irreversível</em>. Deixar sua xícara favorita cair pode ser uma dessas ações, caso a xícara quebre, suas imperfeições estéticas podem estragar a beleza que a xícara tinha.
Deixando de lado as xícaras e a subjetividade da beleza, o Github implementou para repositórios que utilizam ferramentas de deploy externas os "<em>Environments</em>" uma aba especial do repositório dedicada a exibir um log dos deploys feitos por aquela ferramenta que contém um problema <em>particularmente destrutivo e (quase) irreversível</em>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1623627524759/DEm5s-BlC.png" alt="image.png" /></p>
<h2 id="a-problematica">A problemática</h2>
<p>É difícil de início perceber a ligação entre essa feature e uma ação irreversível, <strong>até que seja tarde demais</strong>. 
Brincadeiras a parte, quando se usa um serviço de deploy integrado ao Github e ele adiciona um environment ao seu repositório, não existe uma maneira simples de removê-lo. Caso a adição tenha sido intencional e desejada, não existem problemas, mas se por alguma razão você adicionou o serviço de deploy ao repositório errado, não gostou do serviço e deploy, não quer mais utilizar o serviço ou simplesmente não quer a aba de deploy no seu repositório, então o Github não oferta uma maneira simples e intuitiva de solucionar seu problema.</p>
<p>Na data de escrita desse post, não existia nenhuma forma pela interface gráfica do Github de remover os environments. Então uma vez adicionados <em>já era, perdeu-se</em>...</p>
<p>...Ou era o que eu pensava, <strong>existe uma solução</strong>, não é trivial, mas resolve o problema.</p>
<h2 id="a-solucao">A Solução</h2>
<p>O Github possui uma série de apis robustas e confiáveis, possuindo inclusive apis que permitem a remoção de environments (o porquê disso não ter sido adicionado à interface é um mistério).</p>
<p>O colega <a class="user-mention" href="https://hashnode.com/@spersico">Spersico</a> fez um bom trabalho em automatizar as chamadas às apis e deixou disponível <a target="_blank" href="https://stackblitz.com/edit/github-deployment-clearer?file=index.js">nesse snippet</a> do Stackblitz.</p>
<p>Para remover então os environments do seu repositório alguns passos são necessários:</p>
<ul>
<li>Primeiramente, acesse o <a target="_blank" href="https://stackblitz.com/edit/github-deployment-clearer?file=index.js">snippet</a> de remoção de environments.</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1623630231872/aoFfHc0F5.png" alt="image.png" /></p>
<ul>
<li>No topo do snippet, existem alguns parâmetros que precisam ser preenchidos (<strong><em>TOKEN, REPO e USER_OR_ORG</em></strong>, no meu caso, quero remover os environments do meu repositório chamado "<em>torugo-chatbot</em>" da minha conta "<em>victormagalhaess</em>"</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1623630480266/4jS2YtDSd.png" alt="image.png" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1623630583246/rC7eGCcDr.png" alt="image.png" /></p>
<ul>
<li>O próximo passo antes de executar o snippet é adicionar o parâmetro <strong><em>TOKEN</em></strong>, para isso, é necessário ir até a área de criação de tokens do seu Github: <a target="_blank" href="https://github.com/settings/tokens/new">https://github.com/settings/tokens/new</a> e criar um novo token com permissão de <strong><em>repo-deployment</em></strong>:</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1623631028223/vG5zl2vsY.png" alt="image.png" /></p>
<p><strong>Lembre-se de copiar o token, é impossível ver ele novamente sem ter que regerá-lo</strong>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1623631181101/LuZmpo7UI.png" alt="image.png" /></p>
<ul>
<li>Após copiar o token, cole-o no snippet: 
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1623631453225/TpyMOPS3B.png" alt="image.png" /></li>
</ul>
<p>Imediatamente ao fazer isso, se todos os parâmetros foram passados corretamente, a lateral do snippet deve exibir a seguinte mensagem mostrando que os environments foram removidos:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1623631573525/R9DXP1CTb.png" alt="image.png" /></p>
<p>E ao voltar ao seu repositório, o campo de environments terá desaparecido:</p>
<p><strong>Antes:</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1623631747017/vesCnS3Pb.png" alt="image.png" /></p>
<p><strong>Depois:</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1623631806480/qja1ZtFrp.png" alt="image.png" /></p>
<h2 id="conclusao">Conclusão</h2>
<p>Dessa forma, você poderá controlar e gerenciar a exibição dos environments nos seus repositórios. Caso você não se sinta confortável em executar o snippet pelo Stackblitz, você pode fazer download do projeto e executar localmente. 
Uma outra dica para manter sua segurança é revogar o token após finalizar a remoção de todos os environments que você desejar.</p>
<p>Espero que tenha sido útil pra você esse post e que ajude na sua organização e satisfação com seus repositórios no Github! 🎉🎃</p>
]]></content:encoded></item></channel></rss>