본문 바로가기
728x90

Jenkins6

Jenkins JSONObject["scm"] is not a JSONObject 에러 해결하기 jenkins 업데이트가 된 이후로 slack notification plugin을 수정하려고 하면 위와 같은 에러가 발생했습니다. JSONObject["scm"] is not a JSONObject 사실 이런 문제가 생길까봐 툴 업데이트는 최대한 안하는 편인데 어째서인지 Jenkins가 자동 업데이트 되어있었습니다 ㅜㅜ 어쨌든 문제는 발생했으니 해결을 해야 했습니다. Slack Notification은 소중하기 때문이죠. 찾아보니 2023년 10월에 동일한 문제를 리포트한 분이 있었습니다. 역시 ChatGPT 보다 근본인 구글링의 승리인 순간 Loading... Hello, After updating Jenkins from 2.425 to 2.426 I am not able to Save/Apply c.. 2024. 3. 20.
jq를 사용해서 JSON 값 변경하기 Jenkins를 사용하다 보면 해당 job을 돌리기 전에 JSON값을 수정해야 하는 상황이 생길 수 있습니다. 이럴때 jq 를 사용하여 간단하게 할 수 있는데요 기본 내장 기능이 아니기 때문에 설치가 필요합니다.brew install jq 설치 완료 후 변경할 JSON파일 이름과 변경할 대상 key, 그리고 변경할 value가 정해지면 아래의 양식으로 작성합니다.jq ‘.values |= map(if .key == “{대상 key 명}” then .value = {변경할 값} . end)’ {변경할 json파일} > temp.json && mv temp.json {변경할 json파일} 변경할 JSON파일 이름이 user_info.json 변경할 대상 key가 user_token 변경할 value가 bla.. 2023. 6. 23.
jenkins pipeline 결과 fail일 때 멈추지 않고 실행되도록 처리하기 & fail 이면 멈추기 이전 회사에서 전 구간 자동화를 설정했었던 jenkins로 지금 회사에서도 전 구간 자동화를 설정했습니다. 앱 다운 -> 기기 설치 된 앱 삭제 -> 다운 받은 앱 설치 -> 자동화 코드 실행 그리고 각 단계마다 예외처리를 다르게 설정해줘야 하는 구간이 있습니다. - 앱 다운 - 다운 받은 앱 설치 - 자동화 코드 실행 은 해당 파이프라인의 전체 결과와 밀접한 관계를 가지고 있었지만, 기기 설치 된 앱 삭제 부분은 조금 달랐습니다. 해당 파이프라인이 진행될 때 기기에 설치할 앱이 있을수도 있고 없을 수도 있었기 때문이죠. 그래서 해당 부분만 실패해도 파이프라인 진행은 되지만, 결과는 실패로 찍히도록 처리를 했습니다. try catch 부분에 catch에 catchError 구문을 추가해주시면 되며 해당 .. 2022. 3. 2.
Jenkins 원격 빌드 하기 - cURL 사용해보기 하나의 Jenkins 내에서 다른 Job을 이어서 진행하게 하는 방법은 빌드 후 조치에서 다른 빌드 실행으로 간단하게 할 수 있지만 다른 Jenkins의 Job을 실행할 때는 방법이 조금 다릅니다. 이 때는 원격빌드 (리모트 빌드) 를 해야 하는데요 이번에는 이 방법을 알아보겠습니다. A Jenkins에서 B Jenkins의 'RUNNING_JOB' 이라는 이름의 Job을 실행한다고 가정하겠습니다. 일단 첫번째로 B Jenkin의 RUNNING_JOB 화면 구성으로 이동하여 빌드 유발 부분의 '빌드를 원격으로 유발' 을 체크합시다. 그리고 Authentication Token을 임의의 문자로 입력해주세요. 저는 AppDownload로 하겠습니다. 그리고 계속해서 B Jenkins의 홈 화면으로 이동한 뒤.. 2021. 5. 20.
Jenkins Pipeline 스크립트 작성해보기 - Job 일괄 실행하기 저는 CI/CD 도구로 Jenkins를 주로 사용하는 편입니다. 강점이라면 많은 플러그인 들이고 또 하나는 제가 자주 써서 익숙하게 사용할 수 있다는 점이지요. (사실 현역 프로그램중에 고르라면 내가 편한게 최고 아니겠습니까?) Jenkins에는 수많은 Job들이 등록되어 있고 실행이 되고 있습니다. QA Engineer의 경우 자동화 테스트를 Job으로 만들어서 관리하게 될텐데 개발 환경이나 실제 서비스되는 라이브 환경을 검증 할 때 하나의 Job만 실행하여 검증을 할 수 없는 경우는 여러개의 Job을 실행하여 검증을 진행하게 됩니다. 이럴때 이러한 Job들을 묶어서 하나의 Job으로 실행되도록 할 수 있습니다. 바로 Jenkins Pipeline 으로 가능합니다. 새로운 Item을 선택하면 Job을 .. 2021. 5. 20.
newman 테스트 결과 Junit으로 slack 알림 보내기 postman의 모듈인 newman을 사용하면 커맨드로 쉽게 포스트맨기능을 동작시킬 수 있습니다. 이걸 jenkins와 결합해서 slcak 알림으로 보내면 테스트 결과를 슬랙으로 쉽게 볼 수가 있게 되지요. 하지만 아무것도 없이 슬랙 알림으로만 설정해 놓는다면 라는 결과를 보게 됩니다. (pass / fail 여부는 잘 표시되기 때문에 결과만 본다면 문제는 없습니다) 하지만 우리는 좀 더 디테일한 결과를 알고 싶으므로, newman과 JUnit을 더해서 결과를 알도록 해봅시다. newman 커맨드 뒤에 아래의 커맨드를 추가합니다. --reporters cli,junit --reporter-junit-export “newman/myreport.xml” 이렇게 해서 newman을 실행하면 jenkins wo.. 2020. 9. 6.