본문 바로가기

DevOps67

젠킨스에서 실패한 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.
젠킨스 파이프라인 정리 - 1. 파이프라인 샘플 만들기 안녕하세요? 이번 시간엔 젠킨스 파이프라인을 정리해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. 젠킨스의 파이프라인이란 연속적인 이벤트 혹은 Job의 그룹을 얘기합니다. 즉, 본인이 만든 젠킨스 Job들을 순차적 혹은 병렬적으로 실행시키거나 특별하게 작성한 스크립트로 이벤트들을 연속적으로 실행시키는 등의 일을 지원하는 기능입니다.간단히 말해, Jenkins Pipeline은 Jenkins를 사용하여 연속적인 전달 파이프 라인 의 통합 및 구현을 지원하는 플러그인의 조합입니다 . 파이프 라인은 파이프 라인 DSL (Domain-Specific Language)을 통해 간단하거나 복잡한 전달 파이프 라인을 "코드"로 생성 할 수있는 확장 가능한 자동화 .. 2018. 11. 26.
Jenkins Port 변경하기 Jenkins의 기본 포트는 8080입니다.사정상 한대의 서버에 이것저것 설치해서 쓸 경우 8080포트는 사용하기 어렵습니다.(Upsource, Tomcat 등 대부분의 소프트웨어는 8080 포트를 기본으로 쓰고 있습니다)그래서 Jenkins의 기본 포트를 변경할 필요가 있다면 다음과 같이 진행해보세요.Jenkins가 설치된 서버로 이동하신뒤 다음 명령어로 설정 파일을 엽니다. # jenkins config 열기 sudo vim /etc/sysconfig/jenkins 그리고 아래와 같이 JENKINS_PORT를 수정합니다저는 9090으로 수정했습니다 이렇게 설정하신후 jenkins를 다시 실행해보시면 9090으로 정상적으로 수행된 것을 확인할 수 있습니다 2018. 11. 23.
[Redis] 패턴으로 TTL 적용하기 성능 테스트나 실수로 Redis의 데이터들이 잘못 들어간 경우가 있을 수 있습니다. 이때 대량의 데이터를 패턴으로 걸러내어 삭제하려면 어떻게 해야할까요? 문제 상황 예를 들어 임의의 키 값을 생성하기 위해 uuid로 키를 대량으로 생성했다고 가정하겠습니다. 실제 데이터도 다음과 같이 등록된 상태입니다.이 상황에서 availablePoint:uuid 로 되어 있는 key들을 모두 삭제하고 싶습니다. 이 패턴의 key를 전부 TTL 1초로 만들면 되겠죠? 자 그럼 어떻게 하면 특정 패턴의 Key들을 모두 TTL 1초로 지정할 수 있을까요? 해결책 레디스에서는 전체 key를 볼 수 있는 keys 명령어가 있습니다. 해당 명령어는 부하가 심하여 운영 중인 서비스에서는 절대 사용하면 안되는 명령어 인데요. 이를 .. 2018. 10. 26.
EC2에 Redis CLI 설치하기 보안 정책으로 로컬 PC에서 바로 Redis에 접근하지 못하는 경우가 종종 있습니다. 그럴 경우 Redis에 접근 가능한 다른 EC2 서버에서 Redis 접속을 하고 데이터 확인을 하는데요. EC2에 Redis CLI 설치 방법을 소개합니다. 아래 커맨드를 차례로 입력하시면 됩니다. # make 하기 위핸 gcc 다운 sudo yum install -y gcc # redis-cli 설치 및 make wget http://download.redis.io/redis-stable.tar.gz && tar xvzf redis-stable.tar.gz && cd redis-stable && make # redis-cli를 bin에 추가해 어느 위치서든 사용 가능하게 등록 sudo cp src/redis-cli /.. 2018. 10. 26.