본문 바로가기

DevOps66

Linux에서 crontab 실행시 명령어 찾지 못할때 crontab의 기본 PATH는 /usr/bin 밖에 없습니다. 즉, /usr/local/bin 등 다른 경로에 있는 command에 대해서는 crontab 이 인식하지 못하는데요. 만약 aws cli를 pip로 설치했다면 그 경로는 /usr/local/bin/aws가 되기 때문에 crontab으로 명령어를 등록해고 제대로 실행이 되지 않습니다. 예를 들어 아래와 같이 aws 커맨드를 실행하는 sh파일을 #!/bin/bash aws help crontab으로 실행한다면 * * * * * my_command.sh some_args 다음과 같은 에러가 발생합니다. /bin/sh aws command not found 해결책 해결책은 아래처럼 crontab에 직접 PATH를 등록 하는 것입니다. PATH=/u.. 2020. 1. 29.
TeamCity 빌드 실패시 결과 Slack으로 알람 받기 Teamcity에서는 공식적으로 Slack Notifier를 지원하진 않습니다. 이건 젠킨스도 마찬가지라서 플러그인 설치를 해야하는것은 동일합니다. 다만 Teamcity에서는 공식적으로 IntelliJ IDEA 에서 결과 알람을 받을 수 있도록 지원하고 있습니다. 이 부분은 이후에 소개드리겠습니다. Teamcity의 알람을 Slack으로 받을 수 있는 여러 플러그인들이 존재합니다만, 여기서는 Slack Notifier 플러그인들 보다는 웹훅 플러그인을 사용합니다. Slack Notifier 플러그인들의 경우 다음의 문제점들을 경험했는데요. 설치시 Zip파일을 직접 Upload 해야하는 방식 Slack Notifier Plus Slack 외에 다른 알람 연동시 어차피 Webhook이 필요함 그래서 여기에서.. 2019. 11. 12.
Teamcity Github 로그인 연동 Teamcity에는 기본적인 id/password 방식의 로그인 기능이 있지만, 실제 업무에서 해당 기능은 잘 사용되지 않습니다. Github 혹은 Google 과 같은 OAuth 인증을 사용하게 되는데요. 이번 시간에는 Teamcity 에서의 Github 로그인을 연동해보겠습니다. 1. 플러그인 설치 Teamcity에서는 공식적으로 Github 로그인을 지원하지 않습니다. Jenkins와 비슷합니다. 다만, 해당 기능을 플러그인으로 지원하고 있습니다. 그래서 가장 먼저 플러그인 설치를 하겠습니다. 먼저 설치된 Teamcity 의 관리자 페이지 (Adminstration) 으로 이동합니다.좌측 사이드바 하단의 PluginsList 를 클릭합니다.검색을 통한 플러그인 설치를 위해 Browse plugins.. 2019. 10. 4.
TeamCity 설치하기 최근 들어 스프링 배치를 수행하는 Runner로 젠킨스가 최선인가? 라는 의문을 계속 보게 되었습니다. (비단 배치 수행용이 아닌 배포에서도 마찬가지로) 여러 대안책을 검토 중에 젯브레인 (JetBrains) 에서 만든 Team City가 생각났습니다. 여러 비교글이 있었지만, 결정적 계기는 김영재님의 포스팅 였습니다. 전반적인 포스팅 내용들을 보면서 시작해봐도 괜찮겠다 싶어 별도의 AWS EC2에 설치해서 진행하게 되었습니다. TeamCity로 시작하고자 하시는 분들은 참고하셔도 좋을것 같습니다. 포스팅은 Windows OS가 아닌 Linux OS에서 진행됩니다. 명령어는 Centos 기반으로 하고 있지만, Ubuntu 역시 비슷하게 사용할 수 있습니다. 1. 환경 확인 일단 Java 8이 설치되어 있.. 2019. 9. 9.
TeamCity ServerUrl 변경하기 TeamCity가 설치된 서버의 도메인 주소가 변경되면 등록된 server Url을 같이 변경해주어야 합니다. Github OAuth의 Redirect URL등과 같이 TeamCity 서버 주소를 생성하는 기능들이 모두 예전 도메인으로 진행되기 때문인데요. 해당 설정을 Web 에서는 쉽게 변경할 수 있지만, 로그인 조차 안되는 상황에선 설정파일을 직접 수정해야 합니다. 그래서 여기서는 서버의 설정파일을 직접 수정하는 방법으로 진행하겠습니다. 본문 먼저 TeamCity의 Data Directory (여러 설정들이 담긴 디렉토리로 보시면 됩니다) 위치를 확인합니다. 보통은 TeamCity 설치된 위치/.BuildServer 입니다. 해당 위치가 아니시라면 아래와 같이 로그를 통해 위치를 확인합니다. vim .. 2019. 9. 8.
젠킨스 빌드 파일 캐시 문제 젠킨스를 통해 Github Clone -> Build를 하다보면 다음과 같이 이름이 변경된 파일의 이전 파일이 그대로 남아 있는 경우를 종종 보게 됩니다. 아래 사진은 01-makeFiles.config였던 파일을 00-makeFiles.config로 변경했는데 그대로 00도 남아있는 경우입니다. (실제 프로젝트에서는 이미 01-makeFiles.config 파일이 존재하지 않습니다.) 이는 젠킨스의 workspace가 완전히 초기화 되지 않기 때문입니다. 젠킨스의 경우 npm install 등 패키지 다운로드가 매번 build때마다 발생하는 것을 막기 위해 workspace를 삭제하지 않고 덮어 쓰기 방식으로 진행됩니다. 이런 문제를 해결하기 위해 젠킨스에서는 빌드 환경에서 한가지 옵션을 제공 합니다... 2019. 9. 6.