Rails에서 포트폴리오를 만들 때 여러 번 사용한 5 가지 명령

아무래도, 미마치 테츠다이라입니다! !

이번에는 내가 Rails에서 포트폴리오를 만들 때 여러 번 사용한 명령의 비망록입니다. 노트에 메모하고 있었기 때문에 매회 매회 PC로 다시 시작하고 있었습니다만, 코피페 하는 것이 작업 효율도 오르기 때문에, 정리했습니다.

여러분의 문제해결에 대한 팁이 되시면 감사하겠습니다.

그건 그렇고, 내 포트폴리오는
아래와 같이 되어 있습니다.

사용한 기술



  • 프런트 엔드
  • HTML/CSS
  • JavaScript
  • jQuery
  • Bootstrap


  • 백엔드
  • Ruby 3.0.1
  • Ruby on Rails 6.1.3.1


  • 인프라 및 개발 환경
  • MacBook Air macOS Big Sur 11.3.1
  • Docker/Docker-compose
  • AWS(ECR,ECS(EC2),VPC,S3,Route53,ALB,RDS(PostgreSQL 12.5),ACM)
  • Nginx/Puma


  • 테스트
  • Rspec (단체 및 통합)
  • CircleCI에서 Docker-compose에서 컨테이너를 구축하고 자동 테스트


  • 기타 사용 기술
  • YouTube Data API
  • Ajax (비동기 통신)
  • LINE/Twitter 기사 공유 버튼
  • 무한 스크롤(jScroll)
  • GitHub


  • 인프라 구성도





    ※ ↓ 여기에서 비망록입니다.

    커맨드 5선



    1. Docker에서 시작한 Rails의 log를 출력한다.



    터미널
    $ docker-compose up -d
    
    $ tail -f log/development.log
    

    2. 개발 환경에서 assets:precompile합니다.



    터미널
    $ docker-compose build --no-cache
    
    $ docker images
    
    $ docker run -it 98582946a6a3 /bin/bash
    # docker run -it RailsアプリのIMAGE_ID /bin/bash
    
    $ bundle exec rails assets:precompile
    # ↑このコマンドのみ(root@297b50c0ee64:/illustrations#)起動中Railsコンテナ内で実行
    
    $ docker ps
    
    $ docker commit f9391be94fab illustrations_app:latest
    # docker commit 起動中RailsアプリのCONTAINER_ID 新しいアプリ名:latest
    
    $ docker stop f9391be94fab
    # docker stop 起動中RailsアプリのCONTAINER_ID
    

    3. 정기적으로 docker 관련 불필요한 파일 삭제



    터미널
    $ docker system prune
    

    4. ECR, ECS (EC2) 사용시 ECR 이미지를 업데이트 한 후 컨테이너를 수동으로 업데이트합니다.



    터미널
    $ ssh -i ~/Desktop/aws-and-infra-ssh-key.pem [email protected]
    # <<例>>
    # pemファイル名 aws-and-infra-ssh-key.pem がローカル環境のデスクトップ上にある 
    # ユーザー名 ec2-user 
    # EC2パブリック IPv4 アドレス 00.000.000.00
    
       __|  __|  __|
       _|  (   \__ \   Amazon Linux 2 (ECS Optimized)
     ____|\___|____/
    
    $ sudo systemctl restart docker
    
    $ docker images
    
    $ docker rmi -f 98582946a6a3 a13a9af53122
    # docker rmi -f RailsアプリのIMAGE_ID WebサーバーのIMAGE_ID
    

    5. ECS(EC2)에서 RDS(PostgreSQL) db:reset한다.



    터미널
    $ ssh -i ~/Desktop/aws-and-infra-ssh-key.pem [email protected]
    # <<例>>
    # pemファイル名 aws-and-infra-ssh-key.pem がローカル環境のデスクトップ上にある 
    # ユーザー名 ec2-user 
    # EC2パブリック IPv4 アドレス 00.000.000.00
    
       __|  __|  __|
       _|  (   \__ \   Amazon Linux 2 (ECS Optimized)
     ____|\___|____/
    
    $ docker ps
    
    $ docker exec -it d3e294bc6927 /bin/bash
    # docker exec -it RailsアプリのCONTAINER_ID /bin/bash
    
    $ echo $DB_DATABASE
    
    $ DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rails db:reset
    # RDSをAWSマネジメントコンソールから アクション→再起動 を押して、再起動中に実行する
    

    이상입니다.

    좋은 웹페이지 즐겨찾기