전체 글
Jenkins Blue Ocean 소개 및 주관적인 단점 3가지
Jenkins Blue Ocean은 Jenkins Pipeline을 구성하는 데에 있어 더 편리하게 도와주는 도구다. 그래서 Blue Ocean을 소개하기 전에 Pipeline에 대해 잠깐 얘기하고 넘어가 보자. Pipeline이란? 전통적인 젠킨스 구현 방법은 아래처럼 Freestyle project를 만들어서 각각의 설정 값들을 하나하나 기입해서 CI & CD(통합 및 배포)를 구축하는 방법이었다. Freestyle로 CI & CD를 구축했을 때의 단점은 개발자가 직접 CI를 위한 설정 값과 CD를 위한 설정 값들을 이곳저곳에 넣어줘야 했었다. 이러한 행위는 결과적으로 환경이 분산되어 있다는 문제점을 직면할 수 밖에 없다. 환경의 분산은 추후에 똑같은 설정을 다시 하더라도 마치 새로 학습하는 것처럼 ..
Jenkins 에서 SSH 접속 시 sudo 권한 사용
에러 내용 sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper Build step 'Execute shell' marked build as failure SSH 접속을 위한 토큰 키와는 별개로 Jenkins로 SSH 접속 시 패스워드 입력이 필요하다는 에러가 발생 해결 방법 sudo visudo 혹은 sudo vim /etc/sudoers %sudo ALL=(ALL) ALL 이 부분을 %sudo ALL=(ALL) NOPASSWD:ALL 로 수정
gradle build bootJar 차이
gradle build gradle build는 bootJar와 달리 내부 동작이 더 길다. 그리고 그 내부 동작에는 bootJar를 포함한다. build는 test 코드가 있다면 테스트도 수행을 한다. build와 bootJar가 다른 것 중 대표적인 것은 Life Cycle과 관련된 Task가 존재한다. 그 중 check, assemble 작업이 있는데, check가 존재하는 이유는 test 코드 이외의 확인 작업을 한번 더 할 수 있는 코드라고 보면된다. test 코드 이외의 확인 할 수 있는 플러그인이 존재하지 않는다면 check는 test 코드를 실행한다. assemble은 프로젝트의 결과물을 내는 모든 작업을 단일 작업으로 만드는 것이다. gradle 빌드에선 작업물이 하나가 아니라 2개 이상..
[CI/CD] 스프링부트 + 깃헙 + 젠킨스 연동하면서 겪은 시행착오
발단 개인적으로 CI/CD 구축 시에 구글에 올라온 블로그 글들이 고작 몇개월 전인데 이미 적용이 안되는 글이라 너무 어려웠다. 그래서 이 글에 CI/CD 구축을 자세하게 써볼까 했는데, 이미 다른 블로그에 해당 내용이 많고 시간 소모가 많이 될 것 같아서 바뀐 내용만 인지하는 차원에서 적어보려고 한다. 추후에 개인적으로 참고하려는 용도로 쓰는 글이지만 누구든 한번 쯤은 읽어보는 것도 좋을 것이다. 괜히 이 블로그 저 블로그보면 똥 된장 구분 못하기 때문에 구축할 때 이런 부분을 조심해야겠구나하고 슥 한번 보고 넘어가시면 된다. (물론 이 글도 언젠가 똥이 될 수도) 참고 1. 시행착오를 겪었던 것을 주로 적는다. 2. 과거의 블로그 글과 현재 차이나는 부분을 중점적으로 적을 것이다.(예를들어 젠킨스 처..