패키징

이 페이지는 크롬 확장 프로그램을 패키징 하는 방법을 설명드립니다. 개요 페이지에서 설명드린 대로 크롬 확장은 “crx”라는 확장자를 가진 ZIP 파일로 묶여져야 합니다. (예: myextension.crx)

주의: 자신만이 쓰는 확장 프로그램인 경우에는 패키징할 필요가 없습니다. 만약 크롬 개발자 대시보드를 사용해 퍼블리싱한다면, 그것은 비공식 버전을 배포하기 위해 .crx 파일을 만들어야 하는 오직 한가지 이유라고 할 수 있습니다.

확장 프로그램이 패키징 될 때에는, 확장 프로그램 하나에 고유한 키가 쌍으로 부여됩니다. 확장 프로그램의 ID는 공개 키의 해쉬에 기반합니다. 비공개 키는 확장 프로그램의 각 버전에 사인하는데 필요하고 반드시 외부로부터 보호되어야 합니다. 확장 프로그램 내에 비공개 키를 포함하지 않도록 주의하세요!

패키지 만들기

확장 프로그램을 패키징 하는 방법:

  1. 다음 URL을 통해 확장 프로그램 관리 페이지를 불러오세요: chrome://extensions
  2. 우측 상단에 ‘개발자 모드’가 체크되어 있는지 확인하세요.
  3. [확장 프로그램 압축…] 버튼을 클릭하세요. 다이얼로그가 나타납니다.
  4. 확장 프로그램 루트 디렉토리 필드안에 확장 프로그램의 폴더 경로를 지정하세요. (예: C:\my-extension) 다른 필드는 무시하세요. 처음으로 패키징 하는 프로그램에는 비공개 키를 지정하지 않습니다.
  5. [확장 프로그램 압축]을 클릭하세요. 패키징 프로그램이 실제 인스톨이 되는 .crx 파일과 비공개 키를 포함하고 있는 .pem 파일 두 개를 만듭니다.

비공개 키를 잃어버리지 마세요! .pem 파일을 안전한 곳에 관리하십시요. 다음과 같은 일을 할 때 필요할 것입니다.

확장 프로그램 패키징이 성공하면 다음과 같이 .crx 와 .pem 파일의 위치를 알려주는 다이얼로그를 볼 수 있습니다.

패키지 업데이트 하기

확장 프로그램의 업데이트 버전을 만든 경우:

  1. manifest.json 파일안에 verion을 올리세요.
  2. 다음 URL을 통해 확장 프로그램 관리 페이지를 불러오세요: chrome://extensions
  3. [확장 프로그램 압축…] 버튼을 클릭하세요. 다이얼로그가 나타납니다.
  4. 확장 프로그램 루트 디렉토리 필드안에 확장 프로그램의 폴더 경로를 지정하세요. (예: C:\my-extension)
  5. 비공개 키 파일 필드에 기존에 생성된 .pem 파일을 넣습니다. (예: C:\my-extension.pem)
  6. [확인] 버튼을 클릭합니다.

업데이트 된 확장 프로그램이 성공적으로 패키징 되면 다음과 같은 다이얼로그가 뜹니다.

패키징 된 확장 프로그램을 크롬 웹스토어에 업로드 하기

패키징 된 확장 프로그램을 크롬 개발자 대시보드를 사용해 업로드 할 수 있습니다. 그러나 몇가지 단계를 거치지 않으면 크롬 웹스토어 안에서의 확장 프로그램 ID와 패키징 과정에서 생성된 확장 프로그램의 ID가 달라질 수 있습니다. 다른 ID는 확장 프로그램을 배포한 경우에 문제가 될 수도 있습니다. 그 이유는 이것이 여러분의 확장 프로그램을 사용자가 여러 버전으로 인스톨 가능하도록 만들기 때문입니다.

만약 확장 프로그램의 ID를 동일하게 관리하고 싶다면 다음 단계를 따릅니다:

  1. .crx 파일을 만들 때 생성된 비공개 키의 이름을 key.pem 으로 변경합니다.
  2. key.pem 파일을 확장 프로그램의 최상단 디렉토리에 넣습니다.
  3. 디렉토리를 ZIP 파일로 압축합니다.
  4. 크롬 개발자 대시보드에서 ZIP을 업로드 합니다.

커맨드 라인에서 패키징하기

크롬 확장프로그램을 패키징 하는 다른 방법으로는 chrome.exe 를 커맨드 라인에서 호출하는 것이 있습니다. –pack-extension 옵션을 사용해서 확장 프로그램의 위치를 지정합니다. –pack-extension-key 옵션은 비공개 키의 위치를 지정합니다.

패키지 형식과 스크립트

형식에 대한 더 많은 내용은 CRX Package Format을 확인하세요.