quarta-feira, 17 de abril de 2024

Erro ao fazer git pull no VS Code

 Após fazer atualização do VS Code, começou dar o seguinte erro no momento de fazer um git pull para sincronizar com o github


Pelo terminal, o git pull funciona normalmente. O problema ocorre especificamente dentro do VSCode


Como paliativo, é necessário alterar o arquivo .git/config  do projeto, alterando de

[remote "origin"]

url = https://github.com/marcusrox/laravel-filament.git


para:

[remote "origin"]

url = https://github.com/marcusrox/laravel-filament.git


Pode ser necessário também adicionar a seguinte configuração, já que passamos a usar https

[http]

sslVerify = false

quarta-feira, 24 de janeiro de 2024

Como autenticar automaticamente no Laravel em ambiente de DEV

Em ambiente de desenvolvilvimento, é bem entediante ter que autenticar a todo momento que você reiniar o serviço, faz um migrate:refresh ou mesmo sai para tomar um cafezinho.

A alteração abaixo deve ser feita no provider de autenticação da aplicação

app\Providers\AuthServiceProvider.php

    public function boot(): void
    {
        // Bypass autenticação em DEV
        if (config('app.env') === 'local') {
            $user = \App\Models\User::find(1);
            Auth::login($user);
        }
    }

quarta-feira, 10 de janeiro de 2024

Como criar e adicionar chaves SSH no Github em 2024

Verificar se já existe um par de chaves do tipo ed25519:

$ ls -al ~/.ssh

Caso não exista, criar:

$ ssh-keygen -t ed25519 -C "marcus.moreira@gmail.com"

Adicionar chave ao ssh-agent

$ eval "$(ssh-agent -s)"

$ ssh-add ~/.ssh/id_ed25519

Adicionar chave à conta GitHub

cat ~/.ssh/id_ed25519.pub

Copie e cole no seguinte local do site do GitHub:

Avatar -> Settings -> SSH and GPG Keys -> New SSH keygen

Testar a conexão criptografada

ssh -T git@github.com



segunda-feira, 11 de outubro de 2021

Erro ao instalar node js no Windows

 




2021-07-01_202225


Em sistemas Windows que não sejam em inglês, isso pode ser resolvido usando um único comando como Administrador. Processo completo abaixo:

  1. Inicie o cmd como Administrador
  2. Digite net localgroup /add "Authenticated Users"e pressione Enter
  3. Instale ou atualize o Node.js para a versão 14.17.2

No entanto, este é um bug: o instalador deve ser corrigido.

Referência:

https://github.com/nodejs/node/issues/39224


quarta-feira, 22 de setembro de 2021

Como publicar um novo ambiente do Laravel no Dreamhost


Objetivo é disponibilizar 3 ambientes para aplicação Laravel no Dreamhost, sendo eles:

1 - ideducar.idevs.net - Ambiente de produção
Base de código: Branch main no repositório git

2 - ideducar-teste.idevs.net - Utilizado para validação/homologação de novos releases com o usuário/cliente
Base de código: Branch test no repositório git, em dado momento do tempo.

3 - ideducar-dev.idevs.net - Utilizado para desenvolvimento / integração contínua
Base de código: Branch test no repositório git, a qualquer momento.

Criação dos sites no painel do Dreamhost

Antes de tudo é necessário criar manualmente os três sites/subdomínios no Painel de controle do Dreamhost

Utilizaremos o mesmo usuário para os três sites, neste caso ideducar.

Este usuário precisa também estar com o acesso SSH ativado.

Configuração do SSH para login sem senha

Aqui vamos realizar a configuração necessária para que o computado que você utiliza no desenvolvimento, normalmente a sua estação de trabalho, consiga executar comandos SSH no servidor Dreamhost sem a necessidade de digitação de senha. Isso será necessário para automatizar o deploy usando o Envoy, mais adiante.

Verificar se você já possui chave SSH criada na sua estação de trabalho:

cat ~/.ssh/id_rsa.pub

Caso o arquivo não exista, criar uma nova chave:

ssh-keygen -t rsa -b 4096 -C "[seu e-maill]"

Em seguida, copiar a chave pública para a conta do Dreamhost

cat ~/.ssh/id_rsa.pub | ssh ideducar@ftp.idevs.net "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Concluído o procedimento acima, testar o acesso SSH sem senha:

ssh ideducar@ftp.idevs.net

O resultado deverá ser um console shell no servidor do Dreamhost

Configuração para acessar o repositório github sem senha

A conta que hospeda o site, neste caso, ideducar, precisa ser capaz de interagir  com o repositório Github sem a dgitação de senha. Agora precisamos criar um par de chaves no Dreamhost e configurar a conta Github para permitir a utilização  dessa chave SSH

Acessar o console do Dreamhost via SSH:

ssh ideducar@ftp.idevs.net

Criar o par de chaves SSH:

ssh-keygen -t rsa -b 4096 -C "[seu e-maill github]"

No comando acima, aceitar todos os defaults (sem senha)

Agora entre na sua conta Github, no canto esqueto da página, clique na foto do perfil e escolha Settings.

Na barra à esquerda, escolha SSH and GPG keys. Na tela que se abre, clique no botão New SSH key

Digite o título de forma bem descritiva, informando por exemplo: Dreamhost - ideducar@beatty - marcus.moreira@gmail.com. No campo key, cole o conteúdo da chave pública obtida com cat ~/.ssh/id_rsa.pub

Após adicionar a chave do Dreamhost no Github, teste com o seguinte comando:

[beatty]$ ssh -T git@github.com

O resultado deverá ser algo como:

Hi marcusrox! You've successfully authenticated, but GitHub does not provide shell access.

Preparando o ambiente para  o primeiro deploy

ssh ideducar@ftp.idevs.net

[beatty]$ cd ideducar-teste.idevs.net/

[beatty]$ git clone git@github.com:marcusrox/ideducar.git

Criar os bancos de dados no MySQL:

ideducar

ideducar_teste

ideducar_dev

Instalando e configurando o Envoy

# composer global require laravel/envoy

Para deploy em produção:

# cd ideducar/deploy
# envoy run deploy


Realizando primeiro deploy nos ambientes

Para o caso do Dreamhost, a primeira providência a ser tomada é a instalação do Composer, usando  o seguinte procedimento: Installing Composer overview – DreamHost Knowledge Base

A forma recomendada é instalar globalmente, na conta, já que teremos diversos ambientes na mesma conta, poderemos ter somente uma instalação do composer compartilhada entre eles:

[server]$ cd ~

[server]$ mkdir -p ~/.php/composer

[server]$ cd ~/.php/composer

[server]$ curl -sS https://getcomposer.org/installer | php

[server]$ mv composer.phar composer

[server]$ chmox a+x composer

Adicionar a linha seguinte ao ~./bach_profile

export PATH=/home/username/.php/composer:$PATH

Carregar a nova configuração do .bash_profile
[server]$ . ~/.bash_profile
O composer está instalado e você pode verificar com o seguinte comando:
[server]$ composer -v

Após instalado o composer, realizar os passos para configuração da web application

[server]$ cd /home/[username]/[domain]

[server]$ git clone git@github.com:marcusrox/ideducar.git

[server]$ cd ideducar

[server]$ composer install

[server]$ cp .env.production .env

Após o passo acima, fazer os ajustes necessários no .env, especialmente na conexão ao banco de dados, que deve ser criado vazio. Tendo criado o banco de dados, prosseguir com o migrate

[server]$ php artisan migrate

[server]$ php artisan db:seed

[server]$ php artisan storage:link

Após esses passos, aplicação WEB já deverá estar acessível. O delploy inicial foi concluído.

Realizando deploy de atualização incremental no ambiente


Descrever


CONTINUAR...

Referências:

Laravel Envoy - Laravel - The PHP Framework For Web Artisans

Como realizar o deploy de uma aplicação Laravel usando o Envoy - YouTube

Simple Envoy script for Laravel deploy (github.com)

papertank/envoy-deploy: Laravel Envoy Deployment (github.com)

terça-feira, 14 de setembro de 2021

Como acessar github usando SSH Keys



Desde meados de 2021, o github não aceita mais acessar os repositórios usando login/senha. Para automatizar o acesso ao código fonte com propósito de CI/CD, pode ser util configurar o acesso via SSH Keys. Dessa forma, será necessário criar um par de chaves, e configurar a chave pública no github.

How to Generate SSH key for Git

SSH key is considered an access credential for the secure shell (SSH) network protocol. It is an encrypted and authenticated secure network protocol, applied for remote communication between machines operating on an unsecured network. This snippet will help you to find the kbd class="highlighted">SSH key on your PC if it exists, generate a new SSH key and learn how to add it to your ssh-agent or your GitHub/Bitbucket account.

Checking PC's SSH Keys

You can do that by following the steps below. Type ls -al ~/.ssh so as to see your ssh keys:

ls -al ~/.ssh

By default, the filename of the public key is one of the following:

  id_ecdsa.pub
  id_ed25519.pub
  id_rsa.pub

Generate a new SSH key

If you don't have an SSH key, you should create it. Now let’s generate a new SSH key step by step.

Type the command below, using your GitHub's account email:

ssh-keygen -t rsa -b 4096 -C "[your github's email]"

After running this command, you will be offered to set the SSH key path, but we recommend you to use its default value by pressing the "Enter" button.

> Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]

After that it will offer you to insert a passphrase to protect your SSH key.

> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]

Adding an SSH key to the ssh-agent

Now, when you already have an SSH key, you can add it into the ssh-agent.

  1. Be sure ssh-agent is enabled:
    eval "$(ssh-agent -s)"
  2. Add your SSH key to the ssh-agent.
    ssh-add ~/.ssh/id_rsa
    If you changed the default path while generating an SSH key, now you need to mention that path instead of ~/.ssh/id_rsa.

How To Add SSH Key To GitHub Account

Usually, repositories are private, and the developers are required to write a username and a password to take any actions related to the remote repository. Adding your SSH key to the GitHub/Bitbucket account helps the system to identify you and your are not asked to write your username and password each time.

Open your terminal and type the command below:

cat ~/.ssh/id_rsa.pub

Now, it will print the SSH key in the terminal, so you can copy it.

How to Add SSH Key to the GitHub Account

  1. Log into your GitHub's account. In the top right corner of any page, click your profile photo, then click Settings.
  2. In the user settings sidebar, click on SSH and GPG keys.
  3. Click on the New SSH key button.
  4. Type the title and your SSH key, and press the Add SSH key button

To check everything is correct, use ssh -T git@github.com

Now, we can do git clone:

git clone git@github.com:username/your-repository.git


Or, if the clone already exists, don't forget to modify the remote point as follows:
git remote set-url origin git@github.com:username/your-repository.git



O que significa o erro "Execução de scripts foi desabilitada neste sistema"?

  O que significa o erro "Execução de scripts foi desabilitada neste sistema"? Execute Set-ExecutionPolicy -ExecutionPolicy Remote...