( gitlab + ecr )ビルドとプッシュのイメージをECRにプッシュ

2467 ワード

エムTemposデEstudoパラシュートは、Ci\CD、Pegei O desafioデRealizar A Cria Sexe o o o um ci para poder fazer o Build E Buy Day Minhasをドッキングします.Entは、o o o o o depoisデmuitasコンサルタントタオquisasとしてオアパイデtodas(Google E Documenta Method - O)、IREI Documentar E Compartihar neste Post de Forma Mais Simesは、como vocを解放します.
パスソ
AWS - IAMパーミス
  • 1 - Crie - um - usuは、ポリシーポリシーデacesso ao ecr、pode ser利用可能な方針Amazon . ContainerRegistryFullAccess
  • 2 -クリオo seuリポジトリ
  • GITLAB :
  • 3 - CRIEなしSEUリポジトリはgitlab、o arquivoを行う.Gitlab CIyl e tamb m m versione todos os seus arquivos refera a sua imagem docker (. dockerfile e etc );

  • 4 - variaveisデconexの引きo o comとしてのdefinindoは、suaアカウントAWS Palm que o gitlab possa se comunicar com o ecrです.

    Acesse as configurações (settings -> CI\CD) do seu projeto;
    Defina as variaveis e os valores que serão utilizados no pipeline do gitlab.


  • Variaveis gitlab + AWS :
    として、trのrivevisのabaixo(AWS *)sのexo o nativasデIntegraのseは、o gitlab comを行う.
    レファレンス:https://docs.gitlab.com/ee/ci/cloud_deployment/
    id susaアカウントのAWS
    秘密のda suaアカウント
    領域を指定します
    OuttraVariaveis :
    DockerCertレジストリ= caminho do seuリポジトリ
    例:
    リポジトリ= nome doリポジトリ(/nometleリポジトリ)
    例:
  • 5 -ボルタンダンドAO.Gitlab CIYMLは、iRemosの利用可能なエージェントのエージェント共有gglabのmodo dind
    Saibre Sobre dind:https://docs.gitlab.com/ee/ci/docker/using_docker_build.html
  • s . copiar e testar
    image: 
      #utilizado image aws-cli para permitir realizar o get-login da aws;
      name: amazon/aws-cli
      entrypoint: [""]
    
    services:
      - docker:dind
    
    stages:
      - build
    before_script:
    ## realizando a instalação do docker
      - amazon-linux-extras install docker
      - aws --version
      - docker --version
    ##login na aws
      - aws ecr get-login-password --region $AWS_DEFAULT_REGION | docker login --username AWS --password-stdin $DOCKER_REGISTRY
    
    Build and Push - ECR:
      stage: build
      script:
        - docker build -t $DOCKER_REGISTRY/$REPOSITORY:latest .
        - docker push $DOCKER_REGISTRY/$REPOSITORY:latest