GitHub 컨테이너 레지스트리
11427 단어 developmentdockercontainersgithub
Vocêpode acessar os 소프트웨어 패키지através do seu pró prio perfil, e l á Vocêvai veruma série de opões, desde pacotes do NPM até,mais recente, imagens do Docker!.
Acesse seu perfil para poder ver seus pacotes
이소 메스모!Agora,além do Docker Hub,vocêtambém pode armazenar suas imagens diretamente no GitHub,mas o que isso muda?
GitHub 컨테이너 레지스트리
O GH Container Registryéuma forma de vocêconseguir unir O seu código com a imagem que ele representa,ou seja,deixar a infraestrutura e O código em si no mesmo ambiente.
Isso facilita muito quando vocêprecisa direcionar algum usuário para uma página de downloads,ou então informar que vocêpode também baixar a imagem de um determinado container diretamte do seu próprio perfil!
Inicialmente,essa ferramenta estava em um beta fechado,porém,no dia 1 de setembro,a equipe liberou um beta aberto para todos os usuários testarem o novo modelo de pacotes.
회사 명
Comparando com o Docker Hub,que não cobra para repositórios públicos,mas sim para repositórios privados,o GH Container Registryéa mesma coisa.Quando essa functionalidade for para a sua vers ão pública - 유명한 GA(통용성)-o custo para imagens p úblicas será zero, enquanto imagens privadas ter ãum custo a parte.
Por enquanto、no entanto、durante todo o beta、tanto os pacotes públicos quanto privados serão Underos.Então aproveita para fazer aquele teste e colocar suas imagens lá!
마스, 에스페라 움포코...당신은 신사입니까?
Criando uma imagem 회사
Para criarmos e armazenarmos uma imagem no registro do GitHubésuper simples.Podemos fazer de duas maneiras.
Através do Docker 회사
Podemos logar no GitHub com nosso Docker local e envier a imagem para o registro,da mesma forma que logamos em outros registros privados,como oACR.
Para isso vamos seguir os seguintes comandos:
docker login docker.pkg.github.com -u <usuario do github>
important que o token tenha as permissões de escrita e leitura de packages
Tenha certeza que as permissões estão corretas
docker push docker.pkg.github.com/username/repositório/nome-da-imagem:tag
Através de GitHub 행동
Jáfalamos sobre como podemos automatizar uma série de coisas utilizando GH Actions(e mais artigos vão vir por ai😎), então como podemos utilizar as actions para envier nossas imagens para o CR do GitHub?
Para este exemplo eu vou usar um repositório que mantenho,chamadoZaqar.Isto porque este projeto jáem sua natureza um microserviço e precisa do Docker para functionar,então podemos utiliza lo de forma mais real.
Primeramente vou criar um novo access token para que eu possa usar como minha senha na nossa action
Dentro do nosso repositório,vamos na aba
settings
e depois na guiasecrets
.Lá,vamos criar um novo secret chamadoPACKAGES_PASSWORD
e vamos colocar o conteúdo nosso access token dentro dele:Deposis,vamos na aba
actions
dentro do repositório:Clicaremos em new workflow(no meu caso,porque eu játinhaum workflow Existent),quando formos direcionados para a tela onde seremos apresentados comosmais diversos workflows,vamos clicar no link abaixo do título que diz'스스로 작업 흐름을 설정합니다.
Não vamos trabalhar com 템플릿
Lávamos ter um pequeno documento padrão com algumas linhas,vamos fazer uma alteraão para que tenhamos a nossa action sendo executada somente em push para a branch master e também em tags que comecem com
v
,assim podemos terv1.0.0
e assim por diante.Veja como nosso arquivo base vai ficar
# This is a basic workflow to help you get started with Actions
name: Publish to GitHub Container Registry
on:
push:
branches: [master]
tags: v*
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
Agora, vamos no menu do lado direito e iremos procurar a action da pró pria Docker chamada "Docker 이미지 구축 및 전송"Iremos copiar o código clicando no botão de cópia do lado direito:
코피아도 오코디고 데 우소
E vamos colar 로고abaixo da nossa action Fronter,dentro de
steps
,depois vamos apagar algumas das linhas que est ão colocadas como par – metros,porque n ão vamos utilizar todos eles.# This is a basic workflow to help you get started with Actions
name: Publish to GitHub Container Registry
on:
push:
branches: [master]
tags: v*
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: Build and push image
uses: docker/[email protected]
with:
# Username used to log in to a Docker registry. If not set then no login will occur
username: khaosdoctor
# Password or personal access token used to log in to a Docker registry. If not set then no login will occur
password: ${{ secrets.PACKAGES_PASSWORD }}
# Server address of Docker registry. If not set then will default to Docker Hub
registry: docker.pkg.github.com
# Docker repository to tag the image with
repository: khaosdoctor/zaqar/zaqar
# Automatically tags the built image with the git reference as per the readme
tag_with_ref: true
Vamos passar parte por parte deste arquivo para que possamos entender o que estáacontechendo.Primeiramente,estamos dizendo para o workflow na chavename
que vamos nomear esse passo do nosso processo com um novo nome além do nome da action,istoéapenas para organizaço.Depois,estamos dizendo que vamos utilizar a action da Docker como uma base,estamos passando o nome do repositório e o nome da action,bem como sua versão.
Deposis estamos passando pelos par–metros que queremos setar:
username
éo nome do nosso usuário do githubpassword
éo nosso secret que acabamos de criar,contendo nosso access token para podermos fazer o login no registryregistry
queéonde vamos definir para que registro vamos mandar o nosso container.Neste caso,como estamos usando próprio GitHub,vamos fixar esse valor emdocker.pkg.github.com
repository
vamos colocar o nome da nossa imagem,ela deve ser sempre neste formato que comentamos acima,onde temosnomedeusuario/repositorio/imagem:tag
tag_with_ref
faz algumas coisas interestsantes,A principal delaséque ela faz o taggeamento automático da imagem para nós,quando estamos enviando um push para A branchmaster
diretamente,nossa imagem vai receber A taglatest
quando enviamos para uma tag do git,A tag da imagem vai ser o nome da nossa tag do git.Vocêpode checar mais sobre as peculiaridades e como cada uma das configuraçes functiona napágina da actionnova imagem no nosso repositório,pronta para ser baixada
Vocêpode checar a página deste pacote 개인nesta URL
결론
Juntando o GitHub com os container registries,temos uma capacidade muito maior de poder unir o nosso código e nossa infraestrutura em umúnico lugar.Essa unificaço faz com que nossa complexidade diminua,pois vamos ter que lidar com menos ambientes,portanto podemos pensar em outras functionalidades que tirem proveito destas facilidades no futuro!
Espero que tenham gostado artigo,deixe seu comentário,curta e Compatilhe!Nãse esqueça de se inscrever nanewsletterpara mais conteúdo exclusive!
아테미스!
Reference
이 문제에 관하여(GitHub 컨테이너 레지스트리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/azure/conheca-o-github-container-registry-2gdp텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)