Jenkins 에서 빌드 후 조치 등에 E-mail Notification 설정을 하고, 빌드 오류시점에 E-mail 을 받아보려고 설정을 하는데, 실제로 동작을 안하고 java 관련 에러등이 나타나는경우가 있다.

참고: Jenkins Email 관련 Extention

오류내용을 보면 java.net, javax.net, javax.mail 등의 에러가 있는데, 다음 부분을 일단 확인해본다.

  • sendmail 패키지 설치되어있는지 확인
    • Jenkins Mail Extension 은 내부적으로 JavaMail 과 같은 메일 전송 에이전트를 통하는데, 시스템에 해당 패키지가 없다면 설치가 필요하다.
    • 설치가 안되었다면 yum -y install sendmail 명령어등으로 설치한다.
    • $ systemctl status sendmail
    • $ systemctl restart sendmail
  • Port 확인
    • SMTP 를 사용한다면 25번 포트가 열려있는지 확인하고, SSL 을 사용한다면 587번 포트가 열려있는지 확인한다.
  • SMTP Authentication 을 사용하는 경우
    • 해당 E-mail의 user name / password 가 제대로 입력되어있는지 확인한다.
Posted by leechwin
,

Git clone 시에 다른 organization 이나 다른 team 의 repo 를 clone 할때 다음과 같은 에러가 발생하는 경우가 있다.

 $git clone https://github.com/otherTeam/test.git
Cloning into 'test'...
remote: Repository not found.
fatal: repository 'https://github.com/otherTeam/test.git' not found

이때 기존에 사용했던 계정이 다른 organization 에 소속이 안된경우가 있을수 있는데 다음 부분에 파일에 내용을 살펴본다.

$cat ~/.git-credentials
https://other%40test.com:testpassword@github.com/otherTeam/test.git

위의 내용을 보면 해당 repo 에 other@test.com 이라는 계정에 testpassword 라는 암호가 저장되어있는데, clone 을 받으려는 repo 에 other@test.com 이라는 계정이 권한이 없는경우 해당 라인을 삭제한다.

이후에 원하는 repo 의 clone 을 받으려고 다시 시도하면 계정과 비번을 입력받는 창이 뜨는데, 이때 입력을 하면 제대로 clone 이 받아지게 된다.

이때 저장한 계정 정보는 위의 .git-credentails 파일에 저장되게 된다.

Posted by leechwin
,

Git merge 를 수행하는경우 conflict 가 나는 경우가 있다. 이때는 일일이 Conflict 를 수정해도 되지만, 현재 branch 나 merge 대상인 branch 의 내용을 바로 적용하면 이런 conflict 를 일괄적으로 수행하게 할 수 있다.

# git merge -X<option> <branch>
# option = ours, theirs 등등

# ex)
# -Xtheris 로 실행하면 현재 branch 와 conflict 가 발생할경우 otherBranch 브랜치 내용으로 적용
$ git merge -Xtheris otherBranch

참고
https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-%EA%B3%A0%EA%B8%89-Merge
https://git-scm.com/docs/merge-strategies

Posted by leechwin
,