본문으로 건너뛰기

환경 변수

skillshare가 인식하는 모든 환경 변수입니다.

설정

SKILLSHARE_CONFIG

설정 파일 경로를 재정의합니다.

SKILLSHARE_CONFIG=~/custom-config.yaml skillshare status

기본값: ~/.config/skillshare/config.yaml


XDG_CONFIG_HOME

XDG Base Directory Specification에 따라 기본 설정 디렉터리를 재정의합니다.

export XDG_CONFIG_HOME=~/my-config
# skillshare는 ~/my-config/skillshare/를 사용합니다

기본 동작:

플랫폼기본값
Linux~/.config/skillshare/
macOS~/.config/skillshare/
Windows%AppData%\skillshare\

우선순위: SKILLSHARE_CONFIG > XDG_CONFIG_HOME > 플랫폼 기본값.

노트

초기 설정 이후 XDG_CONFIG_HOME을 설정한 경우, 기존 ~/.config/skillshare/ 디렉터리를 새 위치로 직접 이동해야 합니다.


XDG_DATA_HOME

데이터 디렉터리(백업, 휴지통)를 재정의합니다.

export XDG_DATA_HOME=~/my-data
# skillshare는 ~/my-data/skillshare/backups/ 및 ~/my-data/skillshare/trash/를 사용합니다

기본값: ~/.local/share/skillshare/


XDG_STATE_HOME

상태 디렉터리(작업 로그)를 재정의합니다.

export XDG_STATE_HOME=~/my-state
# skillshare는 ~/my-state/skillshare/logs/를 사용합니다

기본값: ~/.local/state/skillshare/


XDG_CACHE_HOME

캐시 디렉터리(버전 확인 캐시, UI dist 캐시)를 재정의합니다.

export XDG_CACHE_HOME=~/my-cache
# skillshare는 ~/my-cache/skillshare/를 사용합니다

기본값: ~/.cache/skillshare/

자동 마이그레이션

v0.13.0부터 skillshare는 백업, 휴지통, 로그에 대해 XDG Base Directory Specification을 따릅니다. 이전 버전에서 업그레이드하는 경우, 첫 실행 시 이 디렉터리들이 ~/.config/skillshare/에서 올바른 XDG 위치로 자동 마이그레이션됩니다.


SKILLSHARE_GITLAB_HOSTS

중첩된 하위 그룹(subgroup)을 지원하는 방식으로 처리할, 자체 관리형 GitLab 호스트명을 쉼표로 구분한 목록입니다. 설정 파일이 없을 수도 있는 CI/CD 환경에서 유용합니다.

SKILLSHARE_GITLAB_HOSTS=git.company.com,code.internal.io skillshare install git.company.com/team/frontend/ui

환경 변수와 설정 파일의 gitlab_hosts가 모두 설정된 경우, 두 값은 병합됩니다(중복 제거). 잘못된 항목(스킴, 경로, 포트를 포함하거나 비어 있는 경우)은 조용히 건너뜁니다.

기본값: 없음 (설정 파일의 값만 사용됨)


SKILLSHARE_AZURE_HOSTS

자체 호스팅 Azure DevOps Server 호스트명을 쉼표로 구분한 목록입니다.

SKILLSHARE_AZURE_HOSTS=azuredevops.mycompany.com,tfs.internal.io

환경 변수와 설정 파일의 azure_hosts가 모두 설정된 경우, 두 값은 병합됩니다(중복 제거). 환경 변수 내 잘못된 항목은 조용히 건너뜁니다.

기본값: (없음)

SKILLSHARE_GITEA_HOSTS

자체 호스팅 Gitea 호스트명을 쉼표로 구분한 목록입니다. 이름에 gitea가 포함된 호스트는 이 값 없이도 감지됩니다.

SKILLSHARE_GITEA_HOSTS=git.company.com,code.internal.io

설정 파일의 gitea_hosts와 병합됩니다.

기본값: (없음)

SKILLSHARE_CNB_HOSTS

자체 호스팅 CNB 호스트명을 쉼표로 구분한 목록입니다. cnb.cool은 이 값 없이도 감지됩니다.

SKILLSHARE_CNB_HOSTS=cnb.company.com

설정 파일의 cnb_hosts와 병합됩니다.

기본값: (없음)


웹 UI

SKILLSHARE_UI_BASE_PATH

리버스 프록시 뒤에서 웹 대시보드를 제공할 URL 하위 경로를 설정합니다.

SKILLSHARE_UI_BASE_PATH=/skillshare skillshare ui --host 0.0.0.0 --no-open

--base-path /skillshare와 동일합니다. 둘 다 설정된 경우 플래그가 우선합니다.

기본값: 없음 (대시보드는 루트 /에서 제공됨)

Nginx 및 Caddy 예제는 리버스 프록시를 참고하세요.


GitHub API

GITHUB_TOKEN

GitHub 개인 액세스 토큰입니다.

사용처:

  • GitHub API 요청(skillshare search, skillshare upgrade, 버전 확인)
  • Git clone 인증 — HTTPS를 통해 비공개 저장소를 설치할 때 자동으로 주입됩니다

토큰 생성 방법:

  1. https://github.com/settings/tokens 로 이동
  2. 새 토큰 생성 (classic)
  3. Scope: 비공개 저장소는 repo, 공개 저장소는 없음
  4. 토큰 복사

공식 문서: 개인 액세스 토큰 관리

사용법:

export GITHUB_TOKEN=ghp_your_token_here
skillshare install https://github.com/org/private-skills.git --track

Windows:

# 현재 세션
$env:GITHUB_TOKEN = "ghp_your_token"

# 영구 설정
[Environment]::SetEnvironmentVariable("GITHUB_TOKEN", "ghp_your_token", "User")

GH_TOKEN

대체 GitHub 토큰 변수입니다. GitHub CLI (gh)에서 사용되며 skillshare에서도 대체 값으로 인식합니다.

토큰 확인 순서: GITHUB_TOKENGH_TOKENgh auth token

이미 gh를 사용 중이고 gh auth login으로 인증했다면, skillshare가 별도의 환경 변수 없이 자동으로 토큰을 가져옵니다.

export GH_TOKEN=ghp_your_token_here
skillshare search "react patterns"

Git 인증

이 변수들은 비공개 저장소에 대한 HTTPS 인증을 활성화합니다. 설정되어 있으면 skillshare는 installupdate 시 URL 수정 없이 토큰을 자동으로 주입합니다.

자세한 내용과 CI/CD 예제는 비공개 저장소를 참고하세요.

GITLAB_TOKEN

GitLab 개인 액세스 토큰 또는 CI job 토큰입니다. GitLab에 호스팅된 비공개 저장소를 HTTPS로 clone할 때 사용됩니다.

토큰 생성 방법:

  1. https://gitlab.com/-/user_settings/personal_access_tokens 로 이동
  2. 새 토큰 추가
  3. Scope: read_repository(pull 전용) 또는 read_repository + write_repository(push & pull)
  4. 토큰 복사 (접두사 glpat-)

공식 문서: 토큰 개요

토큰 유형

git 작업에는 Personal Access Token(glpat-)과 Project/Group Access Token만 사용할 수 있습니다. Feed Token(glft-)은 git 접근 권한이 없습니다.

export GITLAB_TOKEN=glpat-xxxxxxxxxxxxxxxxxxxx
skillshare install https://gitlab.com/org/skills.git --track

Windows:

$env:GITLAB_TOKEN = "glpat-xxxxxxxxxxxxxxxxxxxx"

BITBUCKET_TOKEN

Bitbucket 저장소 액세스 토큰, 또는 앱 비밀번호입니다. Bitbucket에 호스팅된 비공개 저장소를 HTTPS로 clone할 때 사용됩니다.

토큰 생성 방법 (저장소 액세스 토큰):

  1. Repository → Settings → Access tokens로 이동
  2. Read 권한(pull 전용) 또는 Read + Write(push & pull)로 토큰 생성
  3. 토큰 복사 — x-token-auth를 자동으로 사용합니다(사용자 이름 불필요)

토큰 생성 방법 (앱 비밀번호):

  1. https://bitbucket.org/account/settings/app-passwords/ 로 이동
  2. Repositories: Read(pull 전용) 또는 Repositories: Read + Write(push & pull)로 앱 비밀번호 생성
  3. BITBUCKET_USERNAME도 함께 설정하세요 (또는 URL에 https://<username>@bitbucket.org/... 형태로 포함)

공식 문서: 액세스 토큰

export BITBUCKET_USERNAME=your_bitbucket_username
export BITBUCKET_TOKEN=your_app_password
skillshare install https://bitbucket.org/team/skills.git --track

Windows:

$env:BITBUCKET_USERNAME = "your_bitbucket_username"
$env:BITBUCKET_TOKEN = "your_app_password"

BITBUCKET_USERNAME

BITBUCKET_TOKEN이 앱 비밀번호일 때 함께 사용하는 Bitbucket 사용자 이름입니다.

export BITBUCKET_USERNAME=your_bitbucket_username
export BITBUCKET_TOKEN=your_app_password
skillshare install https://bitbucket.org/team/skills.git --track

AZURE_DEVOPS_TOKEN

Azure DevOps 개인 액세스 토큰(PAT)입니다. Azure DevOps에 호스팅된 비공개 저장소를 HTTPS로 clone할 때 사용됩니다.

토큰 생성 방법:

  1. https://dev.azure.com/{org}/_usersSettings/tokens로 이동
  2. + New Token 선택
  3. Scope: Code → Read(pull 전용) 또는 Code → Read & Write(push & pull)
  4. 토큰 복사 (AZDO 시그니처가 포함된 84자 문자열)

공식 문서: 개인 액세스 토큰 사용하기

export AZURE_DEVOPS_TOKEN=your_pat_here
skillshare install https://dev.azure.com/org/project/_git/repo --track

Windows:

$env:AZURE_DEVOPS_TOKEN = "your_pat_here"

GITEA_TOKEN

Gitea 액세스 토큰입니다. gitea.com 및 자체 호스팅 Gitea의 비공개 저장소를 HTTPS로 clone할 때, 그리고 전체 clone 없이 하위 디렉터리를 설치할 때 Gitea Contents API에 사용됩니다.

토큰 생성 방법:

  1. Gitea에서 Settings → Applications로 이동
  2. 새 토큰 생성
  3. 권한: repository: Read(pull 전용) 또는 repository: Read and Write(push & pull)
export GITEA_TOKEN=your_token
skillshare install https://gitea.com/org/skills.git --track

Windows:

$env:GITEA_TOKEN = "your_token"

토큰은 설치 대상 호스트에만 전송됩니다. 이름에 gitea가 포함되지 않은 자체 호스팅 인스턴스는 gitea_hosts 설정이 필요하며, 그렇지 않으면 해당 호스트에는 SKILLSHARE_GIT_TOKEN이 사용됩니다.

CNB_TOKEN

저장소에 대한 read 권한을 가진 CNB 액세스 토큰입니다. cnb.cool 및 자체 호스팅 CNB의 비공개 저장소를 HTTPS로 clone할 때 사용됩니다.

export CNB_TOKEN=your_token
skillshare install https://cnb.cool/org/skills --track

Windows:

$env:CNB_TOKEN = "your_token"

다른 도메인에 있는 비공개 배포에는 cnb_hosts 설정이 필요합니다.

SKILLSHARE_GIT_TOKEN

모든 HTTPS git 호스트에 사용할 수 있는 범용 대체 토큰입니다. 플랫폼별 토큰이 설정되지 않은 경우 사용됩니다.

export SKILLSHARE_GIT_TOKEN=your_token
skillshare install https://git.example.com/org/skills.git --track

Windows:

$env:SKILLSHARE_GIT_TOKEN = "your_token"

토큰 우선순위: 플랫폼별 토큰(GITHUB_TOKEN, GITLAB_TOKEN, BITBUCKET_TOKEN, AZURE_DEVOPS_TOKEN, GITEA_TOKEN, CNB_TOKEN) > SKILLSHARE_GIT_TOKEN.


Git SSL / TLS

이 표준 Git 환경 변수들은 모든 git 작업에 전달됩니다. 자체 서명 인증서나 내부 CA를 사용하는 자체 호스팅 Git 서버(GitLab, Gitea 등)에서 유용합니다.

GIT_SSL_CAINFO

커스텀 CA 인증서 번들의 경로입니다. 자체 호스팅 Git 서버가 내부 CA로 서명된 인증서를 사용하는 경우 사용하세요.

export GIT_SSL_CAINFO=/path/to/ca-bundle.crt
skillshare install https://gitlab.internal.company.com/team/skills.git --track

GIT_SSL_NO_VERIFY

SSL 인증서 검증을 완전히 비활성화합니다. CA 인증서 설정이 불가능할 때 최후의 수단으로만 사용하세요.

보안 위험

SSL 검증을 비활성화하면 연결이 중간자 공격(man-in-the-middle)에 취약해집니다. 가급적 적절한 CA 번들과 함께 GIT_SSL_CAINFO를 사용하거나, SSH를 사용하세요.

GIT_SSL_NO_VERIFY=true skillshare install https://gitlab.internal.company.com/team/skills.git --track

대안: SSL을 아예 사용하지 않으려면 SSH를 사용하세요:

skillshare install [email protected]:team/skills.git --track

테스트

SKILLSHARE_TEST_BINARY

통합 테스트에서 사용할 CLI 바이너리 경로를 재정의합니다.

SKILLSHARE_TEST_BINARY=/path/to/skillshare go test ./tests/integration

기본값: 프로젝트 루트의 bin/skillshare


사용 예시

임시 재정의

# 단일 명령어
SKILLSHARE_CONFIG=/tmp/test-config.yaml skillshare status

# 여러 명령어
export SKILLSHARE_CONFIG=/tmp/test-config.yaml
skillshare status
skillshare list
unset SKILLSHARE_CONFIG

영구 설정 (macOS/Linux)

~/.bashrc 또는 ~/.zshrc에 추가:

export GITHUB_TOKEN="ghp_your_token_here"

영구 설정 (Windows)

[Environment]::SetEnvironmentVariable("GITHUB_TOKEN", "ghp_your_token", "User")

요약

변수용도기본값
SKILLSHARE_CONFIG설정 파일 경로~/.config/skillshare/config.yaml
SKILLSHARE_UI_BASE_PATH리버스 프록시용 웹 UI 하위 경로없음
SKILLSHARE_GITLAB_HOSTS커스텀 GitLab 호스트명 (쉼표로 구분)없음
SKILLSHARE_AZURE_HOSTS커스텀 Azure DevOps Server 호스트명 (쉼표로 구분)없음
SKILLSHARE_GITEA_HOSTS커스텀 Gitea 호스트명 (쉼표로 구분)없음
SKILLSHARE_CNB_HOSTS커스텀 CNB 호스트명 (쉼표로 구분)없음
XDG_CONFIG_HOME기본 설정 디렉터리~/.config (Linux/macOS), %AppData% (Windows)
XDG_DATA_HOME데이터 디렉터리 (백업, 휴지통)~/.local/share
XDG_STATE_HOME상태 디렉터리 (로그)~/.local/state
XDG_CACHE_HOME캐시 디렉터리 (버전 확인, UI)~/.cache
GITHUB_TOKENGitHub API + git clone 인증없음
GH_TOKENGitHub API (GITHUB_TOKEN의 대체 값)없음
GITLAB_TOKENGitLab git clone 인증없음
BITBUCKET_TOKENBitbucket git clone 인증없음
BITBUCKET_USERNAME앱 비밀번호 인증용 Bitbucket 사용자 이름없음
AZURE_DEVOPS_TOKENAzure DevOps git clone 인증없음
GITEA_TOKENGitea git clone + Contents API 인증없음
CNB_TOKENCNB git clone + contents API 인증없음
SKILLSHARE_GIT_TOKEN범용 git clone 인증 (대체 값)없음
GIT_SSL_CAINFO커스텀 CA 인증서 번들 경로시스템 기본값
GIT_SSL_NO_VERIFYSSL 인증서 검증 비활성화false
SKILLSHARE_TEST_BINARY테스트 바이너리 경로bin/skillshare

관련 문서