리눅스에서 도커허브에 접근하기위해 docker login 명령어를 치고 로그인을 하게 되면
/.docker/config.json 파일에 로그인 정보가 저장되게 된다. cat으로 확인을 해보면 암호화가 되어있지만 유틸리티를 설치 후 명령어 만으로도 로그인 정보를 볼 수 있게 된다.

리눅스에 로그인 정보를 저장해 놓으면 여러이유로 보안에 취약하기 때문에 젠킨스에 등록을해 관리 한다.
기존에 했던 아이템을 카피하고

jenkins관리 → credentials

system → global credentials → add credentials


kind : username~~
username : 도커허브 username
password : 도커허브 pw
id: 나중에 젠킨스로 이 id 가져옴

다시 Add credentials 눌러주고

kind : secret file
file : /var/lib/jenkins/.kube 에 있는 config파일
id : 젠킨스에서 사용할 id
리눅스에 있는 파일을 윈도우로 복사하기 위해 scp명령어 사용
https://coconuts.tistory.com/343

저장을 하고 터미널에서 cat ~/.docker/config.json 명령어를 통해 파일을 확인해보면 빈칸으로 나오는데 젠킨스를 통해 파이프라인을 돌리면 도커허브 접속 가능하다.
// Docker 사용
//usernamePassword(젠킨스 크레덴셜 kind에 써놓은 환경변수 대입
steps {
script{
withCredentials([usernamePassword(credentialsId: 'docker_password', passwordVariable: 'PASSWORD', usernameVariable: 'USERNAME')]) {
sh "echo " + '${PASSWORD}' + " | docker login -u " + '${USERNAME}' + " --password-stdin"
// Kubernetes config 사용
// --kubeconfig ==> 디폴트로 되어있는 인증서 대신 '${KUBECONFIG}'이 내용을 인증서로 사용
steps {
withCredentials([file(credentialsId: 'k8s_master_config', variable: 'KUBECONFIG')]) { // 암호화로 관리된 config가 들어감
sh "kubectl apply -f ./2224/deploy/kubectl/namespace-dev.yaml --kubeconfig " + '${KUBECONFIG}'
sh "helm upgrade api-tester-2224 ./2224/deploy/helm/api-tester -f ./2224/deploy/helm/api-tester/values-dev.yaml" +
" -n anotherclass-222-dev --install --kubeconfig " + '${KUBECONFIG}'