docker login github action

우선 docker에서 제공하는 github action이 있다.
docker/login-action을 사용하면 굉장히 쉽게 container registry에 접근할 수 있다.

그런데 나는 oracle에서 이게 잘 안됐고, 다음엔 안까먹기 위해 정리해본다.
여기서 의미하는 여러 value들에 대한 정의가 나한테는 명확하지 않았고 리소스도 많지 않았다.

    - name: Login to Oracle Container Registry
    uses: docker/login-action@v2
    with:
        registry: icn.ocir.io
        username: $
        password: $

icn.ocir.io:

icn의 자리는 region name이다.
region name은 reference에 명시한 url에서 확인할 수 있다.
한국은 icn.

OCI_DOCKER_NAME:

여기서 OCI_DOCKER_NAME은 <tenancy-namespace>/<username>

tenancy-namespace는 oracle에서 관리하는 tenancy의 id를 가리킨다.
Profile > Tenancy > Object storage namespace 에서 확인 가능.

  • 나는 cn********ev (12자리)

username은 email 형식의 계정이다.

그래서 DOCER_NAME은

OCI_AUTH_TOKEN:

OCI_AUTH_TOKEN은 oracle cloud에서 발급한 토큰을 말한다.
Profile > My profile > Auth tokens 에서 발급 가능.

  • 당연히 발급받은 토큰은 발급 시점에만 key를 확인할 수 있다.
  • 발급 시에 복사해두고, 그렇지 못했다면 재발급.
  • 나는 3&****************!8 (특수문자 포함 20자리)

확인 추천

  1. 우선 아래 reference 처럼 docker login을 cmd에서 해본다.
  2. git action에서 key를 yml에 명시해서 해본다.
  3. key를 secrets로 넣어서 해본다.

git action에서 그냥 하려다가 몇 번 실패하면 스트레스가 이만 저만이 아니다.

reference

  • https://docs.oracle.com/en-us/iaas/Content/Functions/Tasks/functionslogintoocir.htm
  • https://docs.oracle.com/en-us/iaas/Content/Registry/Concepts/registryprerequisites.htm#regional-availability