# Jenkins
- Jenkins는 비밀번호, API 토큰, secret key 같은 민감 정보를 `config.xml` 등에 저장할 때 평문으로 저장하지 않고, `hudson.util.Secret` 클래스를 이용해 암호화해서 저장한다.
- 이때 저장되는 값은 보통 `{AQAA...}` 이런 식으로 시작하는 암호화 토큰 문자열이 된다.
- `hudson.util.Secret.decrypt("{AQAA...}")`를 호출하면 Jenkins 마스터 노드가 가진 고유 암호화 키를 사용해서 원래 비밀번호/토큰을 복호화한다.
```bash
# 암호화 토큰 -> 복호화
println(hudson.util.Secret.decrypt("{TOKEN}"))
```
```bash
# DOCKER로 설치 시도
docker run -p 8080:8080 --restart=on-failure jenkins/jenkins:lts-jdk17
```
```bash
# 중요 파일 위치
/var/jenkins_home/secrets/initialAdminPassword # Default Password
/var/jenkins_home/users/users.xml
/var/jenkins_home/users/<user>_<random_numbers>/config.xml
```