One place for hosting & domains

      Como Usar o Git: Um Guia de Consulta Rápida


      Introdução

      Equipes de desenvolvedores e mantenedores de software open-source geralmente gerenciam seus projetos através do Git, um sistema distribuído de controle de versão que suporta colaboração.

      Este artigo no estilo de Guia de Consulta Rápida fornece uma referência de comandos que são úteis para o trabalho e colaboração em um repositório Git. Para instalar e configurar o Git, certifique-se de ler “How To Contribute to Open Source: Getting Started with Git.”

      Como utilizar esse guia:

      • Este guia está no formato de Guia de Consulta Rápida com fragmentos de linha de comando autocontidos.

      • Pule para qualquer seção que seja relevante para a tarefa que você está tentando completar.

      • Quando você vir texto destacado nos comandos deste guia, tenha em mente que este texto deve se referir aos commits e arquivos em seu próprio repositório.

      Configuração e Inicialização

      Verifique a versão do Git com o seguinte comando, que irá também confirmar que o git está instalado.

      Você pode inicializar seu diretório de trabalho atual como um repositório Git com o init.

      Para copiar um repositório Git existente hospedado remotamente, você irá utilizar git clone com a URL do repositório ou a localização do servidor (no último caso você irá usar ssh).

      • git clone https://www.github.com/username/nome-do-repositório

      Mostrar o repositório remoto do seu diretório Git atual.

      Para uma saída mais detalhada, use a flag -v.

      Adicionar o Git upstream, que pode ser uma URL ou pode estar hospedado em um servidor (no último caso, conecte com ssh).

      • git remote add upstream https://www.github.com/username/nome-do-repositório

      Staging

      Quando você modificou um arquivo e o marcou para ir no próximo commit, ele é considerado um arquivo preparado ou staged.

      Verifique o status do seu repositório Git, incluindo arquivos adicionados que não estão como staged, e arquivos que estão como staged.

      Para colocar como staged os arquivos modificados, utilize o comando add, que você pode executar diversas vezes antes de fazer um commit. Se você fizer alterações subsequentes que queira ver incluídas no próximo commit, você deve exwcutar add novamente.

      Você pode especificar o arquivo exato com o add.

      Com o . você pode adicionar todos os arquivos no diretório atual incluindo arquivos que começam com um ..

      Você pode remover um arquivo da área de staging enquanto mantém as alterações no seu diretório de trabalho com reset.

      Fazendo Commit

      Um vez que você tenha colocado no stage a suas atualizações, você está pronto para fazer o commit delas, que irá gravar as alterações que você fez no repositório.

      Para fazer commit dos arquivos em stage, você irá executar o comando commit com sua mensagem de confirmação significativa para que você possa rastrear os commits.

      • git commit -m "Mensagem de commit"

      Você pode condensar o staging de todos os arquivos rastreados fazendo o commit deles em uma única etapa.

      • git commit -am "Mensagem de commit"

      Se você precisar modificar a sua mensagem de commit, você pode fazer isto com a flag --amend.

      • git commit --amend -m "Nova Mensagem de commit"

      Branches ou Ramificações

      Uma branch ou ramificação é um ponteiro móvel para um dos commits no repositório. Ele lhe permite isolar o trabalho e gerenciar o desenvolvimento de recursos e integrações. Você pode aprender mais sobre branches através da leitura da documentação do Git.

      Listar todas as branches atuais com o comando branch. Um aterisco (*) irá aparecer próximo à sua branch ativa atualmente.

      Criar uma nova branch. Você permanecerá na sua branch ativa até mudar para a nova.

      Alternar para qualquer branch existente e fazer checkout em seu diretório de trabalho atual.

      • git checkout outra-branch

      Você pode consolidar a criação e o checkout de uma nova branch utilizando a flag -b.

      • git checkout -b nova-branch

      Renomear a sua branch.

      • git branch -m nome-da-branch-atual novo-nome-da-branch

      Mesclar o histórico da branch especificada àquela em que você está trabalhando atualmente.

      Abortar a mesclagem, no caso de existirem conflitos.

      Você também pode selecionar um commit particular para mesclar com cherry-pick e com a string que referencia o commit específico.

      Quando você tiver mesclado uma branch e não precisar mais dela, poderá excluí-la.

      • git branch -d nome-da-branch

      Se você não tiver mesclado uma branch com o master, mas tiver certeza de que deseja excluí-la, poderá forçar a exclusão da branch.

      • git branch -D nome-da-branch

      Colaborar e Atualizar

      Para baixar alterações de outro repositório, tal como o upstream remoto, você irá usar o fetch.

      Mesclar os commits baixados.

      • git merge upstream/master

      Envie ou transmita seus commits na branch local para a branch do repositório remoto.

      Busque e mescle quaisquer commits da branch remota de rastreamento.

      Inspecionando

      Mostrar o histórico de commits para a branch ativa atualmente.

      Mostrar os commits que alteraram um arquivo particular. Isso segue o arquivo, independentemente da renomeação do mesmo.

      • git log --follow meu_script.py

      Mostrar os commits que estão em uma branch e não estão em outra. Isto irá mostrar os commits em a-branch que não estão em b-branch.

      • git log a-branch..b-branch

      Observe os logs de referência (reflog) para ver quando as dicas de branches e outras referências foram atualizadas pela última vez dentro do repositório.

      Mostrar qualquer objeto no Git através da sua string de commit ou hash em um formato mais legível.

      Mostrar Alterações

      O comando git diff mostra as alterações entre commits, branches, entre outras. Você pode ler mais detalhadamente sobre isso através da Documentação do Git.

      Comparar arquivos modificados que estão na área de staging.

      Exibe o diff do que está em a-branch mas não está em b-branch.

      • git diff a-branch..b-branch

      Mostrar o diff entre dois commits específicos.

      • git diff 61ce3e6..e221d9c

      Stashing

      Às vezes, você descobrirá que fez alterações em algum código, mas, antes de terminar, precisa começar a trabalhar em outra coisa. Você ainda não está pronto para fazer o commit das alterações que você fez até agora, mas não quer perder seu trabalho. O comando git stash lhe permitirá salvar suas modificações locais e reverter para o diretório de trabalho que está alinhado com o commit mais recente do HEAD.

      Guarde (stash) seu trabalho atual.

      Veja o que você tem guardado atualmente.

      Seus rascunhos serão nomeados stash@{0}, stash@{1}, e assim por diante.

      Mostrar informações sobre um rascunho em particular.

      Para trazer os arquivos de um rascunho atual enquanto mantém o rascunho guardado, utilize apply.

      • git stash apply stash@{0}

      Se você quer trazer os arquivos de uma rascunho e não precisa mais do rascunho, utilize pop.

      Se você não precisar mais dos arquivos salvos em um determinado rascunho ou stash, você pode descartar o rascunho com drop.

      Se você tiver muitos rascunhos salvos e não precisar mais de nenhum deles, você pode utilizar clear para removê-los.

      Ignorando Arquivos

      Se você quiser manter arquivos em seu diretório local do Git, mas não quer fazer o commit deles no projeto, você pode adicionar esses arquivos ao seu arquvo .gitignore para que não causem conflitos.

      Utilize um editor de textos como o nano para adicionar arquivos ao arquivo .gitignore.

      Para ver exemplos de arquivos .gitignore, você pode olhar o repositório de modelos .gitignore do GitHub.

      Rebasing

      Um rebase nos permite mover as branches alterando o commit no qual elas são baseadas. Como o rebasing, você pode reescrever ou reformular os commits.

      Você pode iniciar um rebase chamando o número de commits que você fez e que você quer fazer rebase (5 no caso abaixo).

      Como alternativa, você pode fazer o rebase com base em uma determinada string de commit ou hash.

      Depois de ter reescrito ou reformulado os commits, você pode concluir o rebase da sua branch em cima da versão mais recente do código upstream do projeto.

      • git rebase upstream/master

      Para aprender mais sobre rabase e atualização, você pode ler How To Rebase and Update a Pull Request, que também é aplicável a qualquer tipo de commit.

      Resetando

      Às vezes, inclusive após um rebase, você precisa redefinir sua árvore de trabalho. Você pode redefinir ou resetar para um commit específico e excluir todas as alterações com o seguinte comando.

      Para forçar a enviar seu último commit conhecido e não conflitante para o repositório de origem, você precisará usar o --force.

      Atenção: Forçar o envio ou pushing para o master não é muito aprovado a menos que haja uma razão realmente importante para fazê-lo. Use isso com moderação ao trabalhar em seus próprios repositórios e evite fazer isso quando estiver colaborando.

      • git push --force origin master

      Para remover arquivos e subdiretórios locais não rastreados do diretório Git para uma branch de trabalho limpa, você pode usar git clean.

      Se você precisar modificar seu repositório local para que ele pareça com o upstream master atual (isto é, quando há muitos conflitos), você pode executar um hard reset.

      Nota: Executar este comando fará com que seu repositório local fique exatamente igual ao upstream. Todos os commits que você fez, mas que não foram enviados para o upstream, serão destruídos.

      • git reset --hard upstream/master

      Conclusão

      Este guia aborda alguns dos comandos mais comuns do Git que você pode usar ao gerenciar repositórios e colaborar em software.

      Você pode aprender mais sobre software open-source e colaboração em nossa série de tutoriais Introduction to Open Source:

      Existem muitos outros comandos e variações que você pode achar úteis como parte do seu trabalho com o Git. Para saber mais sobre todas as opções disponíveis, você pode executar o comando abaixo receber informações úteis:

      Você também pode ler mais sobre o Git e ver a documentação dele no website oficial do Git.

      Por Lisa Tagliaferri



      Source link

      Como Instalar e Usar o Composer no Ubuntu 18.04


      Uma versão anterior desse tutorial foi escrito por Brennen Bearnes.

      Introdução

      O Composer é uma ferramenta popular de gerenciamento de dependências para o PHP, criado principalmente para facilitar a instalação e atualização para dependências de projeto. Ele verificará de quais outros pacotes um projeto específico depende e os instalará para você, usando as versões apropriadas de acordo com os requisitos do projeto.

      Neste tutorial, você instalará e começará a usar o Composer em um sistema Ubuntu 18.04.

      Pré-requisitos

      Para completar este tutorial, você vai precisar de:

      Passo 1 — Instalando as Dependências

      Antes de você baixar e instalar o Composer, você deve certificar-se de que seu servidor tenha todas as dependências instaladas.

      Primeiro, atualize o cache do gerenciador de pacotes executando:

      Agora, vamos instalar as dependências. Precisaremos do curl para que possamos baixar o Composer e o phi-cli para instalação e execução dele. O pacote php-mbstring é necessário para fornecer funções para a biblioteca que estaremos utilizando. O git é utilizado pelo Composer para baixar as dependências de projeto, e o unzip para a extração dos pacotes compactados. Tudo pode ser instalado com o seguinte comando:

      • sudo apt install curl php-cli php-mbstring git unzip

      Com os pré-requisitos instalados, podemos instalar o Composer propriamente dito.

      Passo 2 — Baixando e Instalando o Composer

      O Composer fornece um instalador, escrito em PHP. Iremos baixá-lo, verificar que o mesmo não está corrompido, e então utilizá-lo para instalar o Composer.

      Certtifique-se de você está em seu diretório home, em seguida baixe o instalador utilizando o curl:

      • cd ~
      • curl -sS https://getcomposer.org/installer -o composer-setup.php

      A seguir, verifique se o instalador corresponde ao hash SHA-384 para o instalador mais recente encontrado na página Composer Public Keys / Signatures. Copie o hash desta página e armazene-o em uma variável do shell.

      • HASH=544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9180f061

      Certifique-se de que você substituiu o hash mais recente para o valor destacado.

      Agora, execute o seguinte script PHP para verificar que o script de instalação é seguro para execução:

      • php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

      Você verá a seguinte saída:

      Output

      Installer verified
      

      Se você vir Installer corrupt, então você vai precisar baixar novamente o script de instalação e conferir minuciosamente se você está utilizando o hash correto. Depois, execute o comando para verificar o instalador novamente. Uma vez que você tenha o instalador verificado, você pode continuar.

      Para instalar o composer globalmente, utilize o seguinte comando que irá baixar e instalar o Composer como um comando disponível para todo o sistema chamado composer, dentro de /usr/local/bin:

      • sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

      Você verá a seguinte saída:

      Output

      All settings correct for using Composer Downloading... Composer (version 1.6.5) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer

      Para testar a sua instalação, execute:

      E você verá esta saída mostrando a versão e os argumentos do Composer.

      Output

      ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ / __ `__ / __ / __ / ___/ _ / ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / ____/____/_/ /_/ /_/ .___/____/____/___/_/ /_/ Composer version 1.6.5 2018-05-04 11:44:59 Usage: command [options] [arguments] Options: -h, --help Display this help message -q, --quiet Do not output any message -V, --version Display this application version --ansi Force ANSI output --no-ansi Disable ANSI output -n, --no-interaction Do not ask any interactive question --profile Display timing and memory usage information --no-plugins Whether to disable plugins. -d, --working-dir=WORKING-DIR If specified, use the given directory as working directory. -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug . . .

      Isso verifica que o Composer foi instalado com sucesso em seu sistema e está disponível de maneira global para todos.

      Nota: se você preferir ter executáveis do Composer separados para cada projeto que você hospedar neste servidor, você poderá instalá-lo localmente, em uma base por projeto. Usuários do NPM estarão familiarizados com esta abordagem. Este método é útil também quando seu usuário de sistema não tem permissão para instalar software para todo o sistema.

      Para fazer isto, utilize o comando php composer-setup.php. Isto irá gerar um arquivo composer.phar em seu diretório atual, que pode ser executado com ./composer.pharcomando.

      Agora, vamos dar uma olhada em como utilizar o Composer para gerenciar dependências.

      Passo 3 — Usando o Composer em um Projeto PHP

      Projetos PHP frequentemente dependem de bibliotecas externas, e o gerenciamento dessas dependências e suas versões pode ser complicado. O Composer resolve isso rastreando suas dependências e facilitando a instalação delas por outras pessoas.

      Para usar o Composer no seu projeto, você precisa de um arquivo composer-json. O arquivo composer.json diz ao Composer quais dependências ele precisa baixar para o seu projeto, e para quais versões de cada pacote está permitida a instalação. Isto é extremamente importante para manter o seu projeto consistente e evitar a instalação de versões instáveis que podem causar problemas de compatibilidade com versões anteriores.

      Você não precisa criar este arquivo manualmente - é fácil cometer erros de sintaxe quando você faz isso. O Composer gera automaticamente o arquivo composer.json quando você adiciona uma dependêcia para o seu projeto utilizando o comando require. Você pode adicionar dependências adicionais da mesma forma, sem a necessidade de editar manualmente este arquivo.

      O processo de se utilizar o Composer para instalar um pacote como dependência em um projeto envolve os sequintes passos:

      • Identificar qual tipo de biblioteca a aplicação precisa.

      • Pesquisar uma biblioteca de código aberto adequada em Packagist.org, o repositório de pacotes oficial para o Composer.

      • Escolher o pacote do qual você quer depender.

      • Executar composer require para incluir a dependência no arquivo composer.json e instalar o pacote.

      Vamos tentar isso com uma aplicação de demonstração.

      O objetivo dessa aplicação é transformar uma dada sentença em uma string com URL amigável - um slug. Isso é comumente usado para converter títulos de páginas em caminhos de URL (como a parte final da URL deste tutorial).

      Vamos começar criando o diretório para nosso projeto. Vamos chamá-lo de slugify:

      • cd ~
      • mkdir slugify
      • cd slugify

      Agora é a hora de pesquisar no Packagist.org um pacote que possa nos ajudar a gerar slugs. Se você pesquisar pelo termo "slug" no Packagist, você obterá um resultado semelhante a esse:

      Você verá dois números do lado direito de cada pacote na lista. O número no topo representa quantas vezes o pacote foi instalado, e o número embaixo mostra quantas vezes um pacote recebeu estrelas no GitHub. Você pode reorganizar os resultados da pesquisa com base nesses números (procure os dois ícones no lado direito da barra de pesquisa). De um modo geral, pacotes com mais instalações e mais estrelas tendem a ser mais estáveis, já que muitas pessoas estão usando. Também é importante verificar a descrição do pacote quanto à relevância para garantir que é o que você precisa.

      Precisamos de um conversor siples de string-para-slug. Nos resultados da pesquisa, o pacote cocur/slugify parece ser uma boa escolha, com uma quantidade razoável de instalações e estrelas. (O pacote está um pouco mais abaixo na página do que a imagem mostra.)

      Os pacotes no Packagist tem um nome de vendor e um nome de package ou pacote. Cada pacote tem um identificador único (um namespace) no mesmo formato que o GitHub utiliza para seus repositórios, no formato vendor/package. A biblioteca que queremos instalar utiliza o namespace cocur/slugif. Você precisa do namespace para requerer o pacote em seu projeto.

      Agora que você sabe exatamente quais pacotes você quer instalar, execute composer require para incluí-los como uma dependência e gere também o arquivo composer.json para o projeto:

      • composer require cocur/slugify

      Você verá esta saída enquanto o Composer baixa a dependência:

      Output

      Using version ^3.1 for cocur/slugify ./composer.json has been created Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 1 install, 0 updates, 0 removals - Installing cocur/slugify (v3.1): Downloading (100%) Writing lock file Generating autoload files

      Como você pode ver pela saída, o Composer decide automaticamente qual versão do pacote utilizar. Se você verificar o diretório do seu projeto agora, ele irá conter dois novos arquivos: composer.json e composer.lock, e um diretório vendor:

      Output

      • total 12
      • -rw-rw-r-- 1 sammy sammy 59 Jul 11 16:40 composer.json
      • -rw-rw-r-- 1 sammy sammy 2934 Jul 11 16:40 composer.lock
      • drwxrwxr-x 4 sammy sammy 4096 Jul 11 16:40 vendor

      O arquivo composer.lock é usado para guardar informações sobre quais versões de cada pacote estão instaladas, e garantir que as mesmas versões sejam usadas se alguém clonar seu projeto e instalar suas dependências. O diretório vendor é onde as dependências do projeto estão localizadas. A pasta vendor não precisa ter o commit realizado no controle de versão - você só precisa incluir os arquivos composer.json e composer.lock.

      Ao instalar um projeto que já contém um arquivo composer.json, execute composer install para fazer o download das dependências do projeto.

      Vamos dar uma olhada rápida nas restrições de versão. Se você verificar o conteúdo do seu arquivo composer.json, verá algo como isto:

      Output

      { "require": { "cocur/slugify": "^3.1" } } sam

      Você deve ter notado o caractere especial ^ antes do número da versão no composer.json. O Composer suporta várias restrições e formatos diferentes para definir a versão do pacote necessária, a fim de fornecer flexibilidade e, ao mesmo tempo, manter seu projeto estável. O operador cirunflexo (^) utilizado pelo arquivo auto-gerado composer.json é o operador recomendado para a máxima interoperabilidade, seguindo o versionamento semântico. Nesse caso, ele define 3.1 como a versão mínima compatível, e permite atualizar para quaisquer versões futuras abaixo da 4.00.

      De modo geral, você não precisará adulterar restrições de versão em seu arquivo composer.json. Contudo, algumas situações podem exigir que você edite manualmente as restrições - por exemplo, quando uma nova versão principal de sua biblioteca obrigatória é lançada e você deseja atualizar, ou quando a biblioteca que você deseja usar não segue o versionamento semântico.

      Aqui estão alguns exemplos para entender melhor como funcionam as restrições de versão do Composer:

      Restrição Significado Versões de Exemplo Permitidas
      ^1.0 >= 1.0 < 2.0 1.0, 1.2.3, 1.9.9
      ^1.1.0 >= 1.1.0 < 2.0 1.1.0, 1.5.6, 1.9.9
      ~1.0 >= 1.0 < 2.0.0 1.0, 1.4.1, 1.9.9
      ~1.0.0 >= 1.0.0 < 1.1 1.0.0, 1.0.4, 1.0.9
      1.2.1 1.2.1 1.2.1
      1.* >= 1.0 < 2.0 1.0.0, 1.4.5, 1.9.9
      1.2.* >= 1.2 < 1.3 1.2.0, 1.2.3, 1.2.9

      Para uma visão mais aprofundada das restrições de versão do Composer, consulte a documentação oficial.

      Em seguida, vamos ver como carregar dependências automaticamente com o Composer.

      Passo 4 — Incluindo o Script Autoload

      Como o próprio PHP não carrega classes automaticamente, o Composer fornece um script de carregamento automático que você pode incluir em seu projeto para obter o carregamento automático de graça. Isso facilita muito o trabalho com suas dependências.

      A única coisa que você precisa fazer é incluir o arquivo vendor/autoload.php em seus scripts PHP antes de qualquer instanciamento de classe. Este arquivo é gerado automaticamente pelo Composer quando você adiciona sua primeira dependência.

      Vamos experimentar isso em nossa aplicação. Crie o arquivo test.php e abra-o em seu editor de textos:

      Adicione o seguinte código que traz o arquivo vendor/autoload.php, carrega a dependência cocur/slugify, e a utiliza para criar um slug:

      test.php

      
      <?php
      require __DIR__ . '/vendor/autoload.php';
      
      use CocurSlugifySlugify;
      
      $slugify = new Slugify();
      
      echo $slugify->slugify('Hello World, this is a long sentence and I need to make a slug from it!');
      

      Salve o arquivo e saia do editor.

      Agora, execute o script:

      Isso produz a saída hello-world-this-is-a-long-sentence-and-i-need-to-make-a-slug-from-it.

      Dependências precisam de atualizações quando novas versões são lançadas, então vamos ver como lidar com isso.

      Passo 5 — Atualizando as Dependências de Projeto

      Sempre que você quiser atualizar suas dependências de projeto para versões mais recentes, execute o comando update:

      Isso irá verificar as versões mais recentes das bibliotecas necessárias em seu projeto. Se uma versão mais nova for encontrada e for compatível com a restrição de versão definida no arquivo composer.json, o Composer substituirá a versão anterior instalada. O arquivo composer.lock será atualizado para refletir estas mudanças.

      Você também pode atualizar uma ou mais bibliotecas específicas, especificando-as assim:

      • composer update vendor/package vendor2/package2

      Certifique-se de verificar seus arquivos composer.json ecomposer.lock depois de atualizar suas dependências para que outras pessoas possam instalar essas versões mais novas.

      Conclusão

      O Composer é uma ferramenta poderosa que todo desenvolvedor de PHP deve ter em seu cinto de utilidades. Neste tutorial você instalou o Composer e o utilizou em um projeto simples. Agora você sabe como instalar e atualizar dependências.

      Além de fornecer uma maneira fácil e confiável de gerenciar dependências de projetos, ele também estabelece um novo padrão de fato para compartilhar e descobrir pacotes PHP criados pela comunidade.

      Brian Hogan



      Source link

      Como criar um Space e uma API Key na DigitalOcean


      Introdução

      DigitalOcean Spaces é um serviço de armazenamento de objetos que torna mais fácil e econômico armazenar e fornecer grandes quantidades de dados. Spaces individuais podem ser criados e colocados em uso rapidamete, sem necessidade de configuração adicional.

      Neste tutorial, iremos utilizar o Painel de Controle da DigitalOcean para criar um novo Space. Em seguida, iremos recuperar uma Chave de API ou API Key e um secret que podem ser utilizados para conceder acesso ao Space para quaisquer clientes ou bibliotecas compatíveis com S3.

      Pré-requisitos

      Para completar este tutorial, você vai precisar de uma conta na DigitalOcean. Se você já não tiver uma, você pode registrar uma nova na página de inscrição.

      Faça o login no Painel de Controle da DigitalOcean para começar.

      Criando um Space

      Para criar um novo Space, utilize o botão Create no canto superior direito do Painel de Controle. Clique no botão, em seguida escolha Spaces na lista suspensa:

      Se você nunca criou um Space antes, você também pode criar um diretamente da página do Spaces. Para fazer isso, clique Spaces na navegação principal do Painel de Controle, e então clique em Create a space. Qualquer uma das opções o levarão à tela Create a Space:

      Primeiro, escolha um nome para o seu Space. Esse nome deve ser único entre todos os Spaces (ou seja, nenhum outro usuário do Spaces pode ter o mesmo nome em qualquer região), deve ter de 3 a 63 caracteres, e pode conter apenas letras minúsculas, números e traços.

      Em seguida, escolha a região do datacenter onde você gostaria que seu Space estivesse. No momento em que esta captura de tela foi feita, nyc3 e ams3 eram as escolhas possíveis. Outras se tornarão dsponíveis ao longo do tempo.

      Finalmente, escolha se deseja que os usuários não autenticados possam listar todos os arquivos em seu Space. Isso não afeta o acesso a arquivos individuais (que é definido em uma base por aquivo), mas apenas a capacidade de obter uma lista de todos os arquivos. A escolha padrão de Private é segura, a menos que você tenha alguns scripts ou clientes que precisem buscar listagens de arquivos sem uma chave de acesso ou access key.

      Quando seu nome e as opções estiverem todos definidos, desça e clique no botão Create a Space. Seu Space será criado, e você será levado para a interface do navegador de arquivos:

      Se este é o seu primeiro Space, você terá um arquivo welcome.html, do contrário, o Space estará vazio.

      Tome nota da URL do seu Space. Está disponível logo abaixo do nome do Space na visualização do navegador de arquivos. Nesse caso de exemplo, a URL completa é https://example-name.nyc3.digitaloceanspaces.com. O nome do Space aqui (geralmente chamado de nome do bucket) é example-name. A URL do servidor (ou endereço) é a parte restante, consistindo do nome do datacenter seguido por .digitaloceanspaces.com: https://nyc3.digitaloceanspaces.com.

      Existem algumas maneiras diferentes pelas quais os clientes e bibliotecas solicitarão essas informações. Alguns vão querer no mesmo formato dado no Painel de Controle. Alguns exigem que o nome do bucket siga a URL do servidor, como em https://nyc3.digitaloceanspaces.com/example-name. Outros ainda pedirão para você inserir o endereço do servidor e o nome do bucket ou Space separadamente. Consulte a documentação do seu cliente ou biblioteca para mais orientações nesse item.

      A seguir, criaremos a chave que precisamos para acessar nossos Spaces a partir de clientes de terceiros.

      Criando uma Access Key

      Para acessar seus arquivos de fora do Painel de Controle da DigitalOcean, precisamos gerar uma chave de acesso ou access key e um secret. Estes são um par de tokens aleatórios que servem como nome de usuário e senha para conceder acesso ao seu Space.

      Primeiro, clique no link da API na navegação principal do Painel de Controle. A página resultante lista seus tokens de API da DigitalOcean e as chaves de acesso do Spaces. Role para baixo até a parte do Spaces:

      Se este é o seu primeiro Space, você não pode ter nenhuma chave listada. Clique no botão Generate New Key. A caixa de diálogo New Spaces key será exibida:

      Digite um nome para a chave. Você pode criar quantas chaves quiser, portanto, lembre-se de que a única maneira de revogar o acesso a uma chave é excluí-la. Desse modo, você pode querer particionar as chaves por pessoa, por equipe ou pelo software cliente no qual você as estiver utilizando.

      Neste caso, estamos criando uma chave chamada example-token. Clique no botão Generate Key para completar o processo. Você retornará à tela da API listando todas as suas chaves. Observe que a nova chave tem dois tokens longos exibidos:

      O primeiro é a sua access key. Isso não é secreto e continuará visível no Painel de Controle. A segunda string é o seu secret ou secret key. Isso só será exibido uma vez. Registre-a em um local seguro para uso posterior. Na próxima vez que você visitar a página da API, esse valor será eliminado e não há como recuperá-lo.

      Diferentes clientes compatíveis com S3 podem ter nomes sutilmente diferentes para access key e secret. A terminologia usada é normalmente próxima o suficiente para deixar claro qual token deve ir para onde. Caso contrário, consulte a documentação do seu cliente ou biblioteca para obter mais informações.

      Conclusão

      Neste tutorial criamos um novo Space na DigitalOcean e uma nova access key e secret. Agora sabemos nossa URL de servidor, nome do bucket (ou nome do Space), access key, e secret. Com essas informações você pode conectar praticamente qualquer cliente ou biblioteca compatível com S3 ao seu novo Space na DigitalOcean!

      Por Brian Boucheron



      Source link