본문 바로가기

ops/jenkins17

jenkins 에이전트에서 여러 stage를 병렬 처리하기 - 2 agent1에서 mock 테스트를 진행하던중 toolchain에 명시한 java를 찾지 못했다는 에러가 발생 프로젝트 root 디렉터리에 agent1,2의 java 경로를 추가mock 테스트 결과 정상 checkstyle 테스트 결과 정상 걸린 시간을 보면 테스트를 하는데만 약2분의 시간이 소요되었다. 에이전트에 소스코드를 복사하는 시간이 적지 않게 들어서 그런듯 하다.ps. 에이전트를 사용하여 mock 테스트와 checkstyle 테스트에 사용되는 시간을 줄일수 있기를 기대했었으나 그러한 효과는 보지 못하였다. mock 테스트와 checkstyle에 진행되는 방식에 차이가 있다고 한다. mock 테스트에는 컴파일된 클래스 파일및 mock테스트에 필요한 .jar 파일이 있고 checkstyle은 코드.. 2025. 11. 21.
jenkins 에이전트에서 여러 stage를 병렬 처리하기 - 1 jenkins ci pipeline에는 적지 않은 stage가 존재하고 있다. agent 노드를 생성하여 api test(mock)과 checkstyle(코드 표준)테스트를 동시에 진행하려고 한다. https://cloudinfrastructure.tistory.com/456 Nodes로 이동 New Node 클릭 에이전트의 이름을 작성해 주고 나서 필요한 설정들을 해준다. JNLP 방식을 사용할 것이기 때문에 Launch method를 위와 같이 생성해 주었다. curl -sO http://:8080/jnlpJars/ag" data-og-host="cloudinfrastructure.tistory.com" data-og-source-url="https://cloudinfrastructure.tist.. 2025. 11. 21.
jenkins agent 사용하기 Manage -> Nodes로 이동 New Node 클릭 에이전트의 이름을 작성해 주고 나서 필요한 설정들을 해준다. JNLP 방식을 사용할 것이기 때문에 Launch method를 위와 같이 생성해 주었다. curl -sO http://:8080/jnlpJars/agent.jar위에서 에이전트에서 실행할 파일을 다운받아 주고 java -jar agent.jar -url http://:8080/ -secret -name agent1 -webSocket -workDir "/home/jenkins/agent/"위의 코드를 에이전트(가상머신 혹은 컨테이너)에서 실행해 주어야 한다. ssh로 에이전트에 접속후 위의 명령어를 실행 연결성공 docker image로 생성 및 실행 ps. 혹시라도 연결이.. 2025. 11. 20.
JNLP를 사용하여 젠킨스 에이전트에서 젠킨스 마스터에 연결하기 구성 : 젠킨스 컨트롤러, 젠킨스 에이전트연결 방식 : 컨트롤러에서 에이전트로 연결,에이전트에서 컨트롤러로 연결 -필요사항 젠킨스 에이전트에 agent.jar 파일이 필요 2025. 11. 19.
jenkins 파이프 라인으로 job실행시 환경변수를 찾지 못하는 문제 pipeline으로 jenkins에 등록해둔 환경변수를 찾지 못하는 문제가 발생했다. java11, gradle-7.6.4가 필요한데 pipeline에서 전역 JAVA_HOME의 값을 읽어서 오는거 같았다 gradle은 이렇게 절대경로를 주어서 사용할수는 있을거 같으나 다른 withEnv라는 함수를 사용해서 진행해 보기로 하였다. 먼저 jenkins에 전역 변수로 설정되어 있는 값들을 가지고 온다. withEnv함수의 인자로 배열을 선언할수 있는데 위와 같이 사용할 변수들을 선언해 주면 함수 안에서 사용할수 있다. gradle 버전이 잘 출력된다. java 버전도 잘 출력이 된다. 2025. 11. 12.
jenkins cli로 job 생성하기 -"-auth"에서 두번째 인자로 사용되는 값은 jenkins에서 해당 유저에 대해서 생성한 api-key이다.java -jar ./jenkins-cli.jar -s http://localhost:8080/ -auth test:$test_user_api_key create-job backend_ci_pipeline -job이 생성된것을 확인할수 있다. 2025. 11. 10.
api-key를 사용하여 jenkins cli 사용하기 jenkins cli 명령어 실행시 authenticate하라는 에러가 발생 몇가지 방식이 있으나 api-key를 사용하는 방식을 하용하기 위해 jenkins상단의 사용자명을 클릭 Security목록 클릭 api-key의 이름을 입력 토큰은 한번밖에 볼수가 없으니 복사해서 안전한 곳으로 복사auth 인자와 함께 유저명:api-key 형태로 jenkins cli 사용시 정상 작동하는 것을 확인 2025. 11. 9.
[jenkins] gradle 플러그인 추가하기 Dashboard에서 Manage Jenkins 클릭   Plugins 클릭   Available plugins 클릭   gradle 검색   체크 후 우측 상단의 install 클릭   다운로드 완료   하단의 Restart Jenkins 클릭   재시동중   로그인   설치된 플러그인 확인    New Item 클릭   Freestyle project 클릭   소스코드를 가지고 올 git url입력   죄측 목록의 Build Steps 클릭   Add build step에서 Invoke Gradle script 클릭   Gradle 버전 선택 및 실행할 명령어 입력    Save 클릭  Build Now 클릭   빌드 중   Console output 화면   빌드 성공 2024. 7. 30.
[jenkins] jenkins url 설정하기 jenkins에 slack 플러그인을 설치하고 테스트 중 jenkins url 관련 문제가 발생했다.   문제점  CI가 성공하면 slack으로 알림을 보내고 변경된 코드를 JENKINS_URL 변수를 확인하여확인할 수 있도록 하였다.   빌드 클릭  빌드가 진행이 되고  slack으로 알림이 간다.   알림에는 링크가 있어서 클릭하면 해당 페이지로 이동한다.   링크 클릭시 해당 링크로 이동하지 않는다.   해당 빌드의 변경 사항을 확인할수 있는View Last Changes를 클릭하면은   정상적으로 접근이 된다.    jenkins의 url을 복사해서 새로운 브라우저 창에 입력하면  정상적으로 접근이 된다.   주소를 다시 확인해보니 현재 jenkins가 구동되고 있는인스턴스와 주소가 다르다.   .. 2024. 7. 16.