1. setting > secret > key에 가서

Untitled

다음과 같이 도커 아이디, 패스워드를 넣는다.

  1. ci.yml 작성
    1. 도커 로그인
    2. 도커 빌드 → 도커 허브에 넣는다
    3. 도커 푸쉬
  2. cd.yml 작성
    1. 도커 로그인
    2. 도커 빌드 → 도커 허브
    3. 도커 푸쉬
    4. self-hosted runner 에 의해 설정 가져 온다.
  3. self hosted 방법 참고하여, setting 설정한다.

참고자료

https://e-room.tistory.com/145

  1. ec2에 도커 깔아준다.
# 패키지 업데이트
sudo apt-get update -y

# 기존에 있던 도커 삭제
sudo apt-get remove docker docker-engine docker.io -y

# 도커 설치
sudo apt-get install docker.io -y

# docker 서비스 실행
sudo service docker start

# /var/run/docker.sock 파일의 권한을 666으로 변경하여 그룹 내 다른 사용자도 접근 가능하게 변경
sudo chmod 666 /var/run/docker.sock

# ubuntu 유저를 docker 그룹에 추가
sudo usermod -a -G docker ubuntu

https://velog.io/@leeeeeyeon/Docker를-활용한-Spring-Boot-프로젝트-EC2-배포#7️⃣-ec2에-docker-설치-및-실행

  1. 현재 ec2는 arm 아키텍처 버전인데, ci를 하는 버전은 amd인거 같다. docker build 시 플랫폼 지정을 해주지 않으면 플랫폼 충돌이 난다. 따라서 ci를 진행할 때 옵션으로 arm으로 바꾸었다.

https://stackoverflow.com/questions/69054921/docker-on-mac-m1-gives-the-requested-images-platform-linux-amd64-does-not-m

  1. gradle cache
# 2. gradle 캐쉬
      - name: Gradle Caching
        uses: actions/cache@v3
        with:
          path: |
            ~/.gradle/caches
            ~/.gradle/wrapper
          key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
          restore-keys: |
            ${{ runner.os }}-gradle-