본문 바로가기

Jenkins23

Spring Batch 공통 설정 관리하기 (feat. 젠킨스 Environment variables) 젠킨스의 경우 스프링 배치의 스케줄러로 많이 사용 됩니다. 다만, 공통 설정을 어떻게 해야할지 고민될 때가 많습니다. 이럴 경우 젠킨스의 Environment variables (환경 변수) 가 아주 유용합니다. 이번 시간에는 젠킨스의 Environment variables를 통해 스프링 배치의 공통 설정들을 관리해보겠습니다. 본문을 보시고 좀 더 좋은 방법이 있으시면 댓글 부탁드리겠습니다! 1. 기존 상황 젠킨스에서 스프링 배치를 사용하다보면 다음과 같은 상황을 자주 목격합니다. java -jar \ -XX:+UseG1GC \ -Dspring.profiles.active=real \ 배치jar \ --job.name=스프링배치Job이름 \ 파라미터1=파라미터값1 \ 파라미터2=파라미터값2 -XX:+Us.. 2019. 9. 5.
4. Ansible (앤서블) 로 전체 서버 사용자 추가하기 - Jenkins&Github 연동하기 이번 시간에는 앤서블로 전체 서버 사용자 추가하기 시리즈의 마지막! Jenkins&Github로 관리하기 입니다. 그간 리눅스 서버의 터미널에서만 관리하던 앤서블을 개선해보겠습니다. 이번 시간에 앞서 진행되야할 것들이 있습니다. 일단 앤서블 호스트 서버에 젠킨스가 설치 되어 있어야 하며, 해당 젠킨스는 작성중인 앤서블 플레이북 코드가 담긴 깃허브 저장소와 연동되어 있는 상태여야 합니다. 안되어 있으신 분들은 아래 링크를 참고하여 진행해주시면 됩니다. 젠킨스 설치 젠킨스와 깃허브 프로젝트 연동 환경 설정이 다 되신분들은 아래 내용을 차례로 진행합니다. 1. Github 관리로 전환 먼저 플레이북을 Github으로 관리할 수 있도록 이관하겠습니다. 여기서는 플레이북 파일과 인벤토리 파일의 관리 방법을 다르게.. 2019. 8. 26.
젠킨스와 Github ssh 연동하기 젠킨스와 Github 연동시에 사용자명과 비밀번호 인증방식은 보안상 추천하지 않는 방식입니다. 물론 테스트 용도로만 사용하는건 문제 없지만, 실제 서비스에서 그렇게 사용하는 회사는 없습니다. 그래서 젠킨스와 Github 간 SSH 연동 방식을 어떻게 하는지 간단하게 소개합니다. 1. 키 생성 현재 실행중인 젠킨스 사용자를 확인합니다. ps aux | grep jenkins 특별히 설정하지 않으면 jenkins 사용자로 실행중입니다. 젠킨스가 jenkins 사용자로 실행중인게 확인되었다면 현재 사용자를 jenkins로 전환합니다. chown 명령어로 파일들을 변경해도 되지만 편하게 jenkins 사용자로 변경하고 모든 명령어를 수행하겠습니다. sudo -u jenkins /bin/bash jenkins 사.. 2019. 8. 17.
EC2 (Amazon Linux 1) 에 Jenkins 설치하기 아마존 리눅스 1에서 Jenkins 설치 하는 방법이 여기저기 퍼져있어, 하나의 글로 정리합니다. 1. 버전 확인 먼저 현재 자신의 서버가 아마존 리눅스 1이 맞는지 확인합니다. 기억이 안나신다면 서버에서 아래 명령어로 버전을 확인합니다. cat /etc/*release Linux2가 적혀있지 않다면 1이 맞으니 그대로 진행하시면 됩니다. Linux1의 경우 실제로 Centos 6.x 버전이라 Centos 6을 쓰시는 분들도 동일하게 쓰시면 됩니다. 2. Jenkins 설치 먼저 yum update로 최신화 합니다. sudo yum update -y 그리고 Jenkins를 설치해보겠습니다. 여기서 다른 서비스들 처럼 yum으로 Jenkins를 설치하려고 하실텐데요. 기본 패키지에는 Jenkins가 포함되.. 2019. 8. 13.
젠킨스에서 실패한 Job 무시하기 젠킨스에서 파이프라인을 사용할 경우 여러개의 Job을 수행합니다. 일반적으로 젠킨스의 파이프라인은 빌드-배포에 맞춰져있어, 앞의 Job이 실패하면 뒤 Job들이 실행하지 않도록 하는 것을 기본으로 합니다. 이때 각 Job이 실패하더라도 뒤에 있는 Job들을 계속 실행할 수 있는 방법이 필요할때가 있는데요. 예를 들어 Batch 작업들이 순차적으로 실행되지만, 각 Batch들이 서로 연관관계가 없을 경우 앞이 실패한 것과 무관하게 실행되길 원합니다. 이럴때 실패를 무시하고 다음 Job을 실행하는 방법을 소개드립니다. 1. Scripted 문법 Scripted 문법은 Groovy 언어를 사용하는 것과 비슷하다고 말씀드렸는데요. 참고: 젠킨스 파이프라인 정리 - 2. Scripted 문법 소개 일반적인 프로그.. 2019. 3. 6.
젠킨스 파이프라인 정리 - 2. Scripted 문법 소개 안녕하세요? 이번 시간에는 젠킨스 파이프라인의 Scripted 문법을 소개드리겠습니다. 지난 시간에 말씀드린 것처럼 Scripted 문법은 쉘 스크립트를 짜듯이 자유롭게 파이프라인을 구성할 수 있도록 지원합니다. Scripted 문법은 Groovy 문법을 사용합니다. Groovy를 안써보신 분들이더라도 Java나 기타 다른 언어를 써보셨다면 쉽게 이해하실 수 있으시니 걱정하지 않으셔도 됩니다. 2개의 문법이 있다는 것은 서로 사용해야할 때가 다르다는 의미겠죠? 여기서는 정확히 어떤 때에 2개의 문법을 선택해서 써야하는지 말씀드릴수는 없습니다. 다만, 이 시리즈에서는 서로의 장점과 단점을 소개해드리겠습니다. 장단점을 보시고 본인의 상황에 맞게 선택해서 쓰시면 될 것 같습니다. 2-1. 장점과 단점 Scri.. 2018. 11. 30.