Jenkins 계정 정보 credentials 설정

청포도봉봉이·2023년 10월 19일
1

AWS

목록 보기
11/14
post-thumbnail

개요

Jenkins를 이용해 Invoke Gradle script를 통해 application 빌드 후 Execute shell을 이용해 빌드된 jar를 Execute shell 통해 Docker image로 빌드 후 개인 DockerHub에 push를 하는 script를 작성했는데 이때 DockerHub 접속 정보를 script내에 그대로 작성하는 부분이 뭔가 찜찜했고 이걸 해결 할 수 있는지를 찾아보았고 해결하는 방법을 정리해본다.

개요의 상황의 캡처이다. DockerHub 계정을 script에 그대로 작성해놨었다.




해결 방법


Credentials로 DockerHub 계정 정보 저장

DashBoard -> Jenkins 관리 -> Credentials

global 클릭 (domains가 없다면 생성)

Add Credentials 클릭

Kind: Username with password
Scope: Global
Username: DockerHub ID
Password: DockerHub password
ID: Jenkins에서 식별하는 ID값 (안적어도 된다)
Description: 설명

후 Create 버튼 클릭




Jenkins Project 설정

Dashboard -> 본인 project -> Configuration -> 빌드 환경 (Build Environment)

Use secret text(s) or file(s) 클릭

Username Variable: 설정한 ID 변수명
Password Variable: 설정한 PW 변수명
Credentials: Credentials에서 만든 DockerHub 계정 정보 선택

echo docker login
docker login -u ${DOCKER_USER} -p ${DOCKER_PASSWORD} docker.io

echo now path
pwd

echo docker image build
docker build -t pak0426/toy-mini-blog-back:latest .

echo docker image push
docker push pak0426/toy-mini-blog-back:latest

하단의 Execute shell에서 원래 하드코딩으로 들어가있던 계정 정보를 위에 변수로 변경하면 된다.

빌드를 했더니 성공했다!!

profile
서버 백엔드 개발자

0개의 댓글