본문 바로가기

우당탕탕 개발생활/_Jenkins7

[Jenkins] 자동 빌드, 배포 shell 파일 작성 하기 (+그동안 발생한 오류 해결) 안녕하세요 아마도 다른 문제가 없다면 Jenkins 자동 빌드, 배포에 관련 된 포스팅은 오늘이 마지막이지 않을까 합니다. 참 우여곡절이 많았는데요. 많은 도움이 되었으면 합니다. # 자동 배포 기존에 자동 빌드는 GitLab에 푸시 이벤트 즉 훅을 걸어서 빌드까지는 성공적으로 되고 있었고, 자동 배포를 어떻게 진행 할 것인지가 남아있었다. 결론적으로 나는 Jenkins 의 Send build artifacts over SSH 플러그인을 이용하여 구현하였다. # Send build artifacts over SSH 플러그인 해당 플러그인은 빌드 아티팩트(파일 또는 폴더)를 빌드된 후 원격 서버로 전송할 수 있다. 이 플러그인은 빌드 작업이 성공적으로 완료된 후 파일을 전송하는 데 사용된다. 아래에서 설정.. 2023. 8. 22.
[Jenkins] Build 오류 원인 분석 및 해결 방법 안녕하세요 Jenkins와 Gitlab의 Hook 까지 잘 걸리는걸 확인했지만 Jenkins내에서 빌드 오류가 발생되는 상황이 있었습니다. 발생했던 오류들을 알아보고 해결까지 방법을 공유드리겠습니다. # Jenkins 빌드 오류 확인 방법 빌드가 진행되었다면 아래와 같이 로그가 남게 되는데요. 날짜 클릭 > Console Output 클릭 시 빌드하며 발생되는 로그들을 확인할 수 있습니다. # Unsupported major.minor version 52.0 $ java -cp /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-agent-1.14.jar:/var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallat.. 2023. 6. 16.
[Jenkins] GitLab Hook Test 오류 원인 안녕하세요 제가 Jenkins에서 GitLab Hook 설정하면서 발생한 2가지 오류에 대해 공유드리겠습니다. # internal error - execution expired 해당 오류는 작업이 실행되는 동안 제한 시간을 초과했을 때 발생할 수 있는 오류이다. 일반적으로 작업이 실행되는 동안 예상되는 시간보다 오래 걸릴 때 발생하게 된다. 이 오류의 원인과 해결 방법은 작업의 성격과 환경에 따라 다를 수 있는데, 몇 가지 일반적인 원인과 해결 방법을 살펴보겠습니다 1. 작업의 복잡성: 작업이 복잡하거나 처리해야 할 데이터가 많은 경우에는 작업 완료까지 시간이 오래 걸릴 수 있다. 이 경우에는 작업의 병렬화, 최적화 또는 성능 향상을 위한 조치를 고려할 수 있다. 2. 자원 제약: 작업에 필요한 자원(메.. 2023. 6. 15.
[Jenkins] GitLab 푸시 이벤트 훅 테스트 방법 (push event hook test) 안녕하세요 Jenkins로 GitLab Branch에 push되면 자동으로 빌드가 일어나도록 설정하기 위해서 가장 중요한건 hook 설정인데요. 이 방법에 대해 자세히 알아보겠습니다. # Version Jenkins 2.346.1 GitLab 11.5.1-ee # GitLab 설정 1. 프로젝트 진입 > 왼쪽 탭의 Settings > Integrations 클릭 2. 옵션값을 입력한다. (아래 Jenkins 설정 참고) ① - 해당 통합과 연결할 대상 서비스의 URL을 입력하는 곳이다. ② - GitLab과 다른 시스템 간의 보안 및 신원 확인을 위해 사용되는 비밀 키다. 이 토큰은 보안 목적으로 사용되며, 인증이나 권한 부여와 같은 작업에서 신뢰성을 보장하는 데 도움을 준다. Webhook 보안: Gi.. 2023. 6. 14.
[Jenkins] GitLab Connection 등록 방법 안녕하세요 GitLab과 Jekins의 연동을 위해 GitLab Connection 연결 등록하는 방법과 GitLab Access Token 발급 방법을 공유드리겠습니다. # 진입경로 GitLab 토큰 등록 - Dashboard > Manage Credentials GitLab 연결 등록 - Dashboard > Jenkins 관리 > 시스템 설정 # GitLab에서 Token 발급 방법 GitLab에 로그인합니다. 사용자 설정으로 이동합니다. 오른쪽 상단에 있는 사용자 아이콘을 클릭하고 드롭다운 메뉴에서 "Settings"을 선택합니다. 좌측 메뉴에서 "Access Tokens"을 선택합니다. "Name" 필드에 토큰의 이름을 입력합니다. 이는 식별을 위한 임의의 이름입니다. "Scopes" 섹션에서 .. 2023. 6. 13.
[Jenkins] Gitlab 연동 시 오류 발생 해결 방법 (128/401) 안녕하세요 오늘은 Jenkins 에서 gitlab 소스 코드 연결 도중 발생한 오류에 대해 알아보고 그 해결방법을 공유드리도록 하겠습니다. # 발생 경로 Item > 구성 > 소스코드 관리 분명 gitlab URL도 알맞게 입력하였고 Credentials 또한 올바르게 등록하였기에 문제는 없었습니다. Failed to connect to repository : Command "git ls-remote -h url.git HEAD" returned status code 128: stdout: stderr: error: The requested URL returned error: 401 Unauthorized while accessing url/info/refs fatal: HTTP request faile.. 2023. 6. 12.
[Jenkins] GitLab 연동 시 필수 설치 플러그인 목록 안녕하세요 이번에 회사에서 Jenkins 관련 업무를 할당을 받게 되었는데요. 워낙 개발만 해오고 서버 쪽이나 빌드 CI/CD에 대해서는 부족했었는데 이 부분을 보완할겸 공부하면서 업무 진행을 해보려고 합니다. 개발 서버 구축 조건 - 기존 SVN에서 Gitlab에 이전된 저장소 사용 - 개발서버 / 운영서버 분리 하여 관리 - gitlab에도 branch를 분리하여 관리 - 해당 branch에 push시 자동으로 빌드가 일어나도록 - 자동 빌드가 성공한다면 자동으로 배포가 일어나도록 # 설치 해야 할 플러그인은 다음과 같다. - Git Jenkins에서 Git 저장소를 관리하고 코드를 가져오는 데 사용된다. Jenkins 작업에서 Git 저장소의 소스 코드를 체크아웃하고, 브랜치를 전환하며, 변경 사항.. 2023. 5. 28.