Jenkins 사용시 사용자별로 특정 Job만 보였으면 하는 요구사항이 있다. 즉 A user는 A project만, B user는 B project만 각각 빌드할 수 있어야 한다. 이에 대한 방법을 소개하고자 한다. 필요 플러그인 설치 기본으로 Jenkins를 설치하면 Matrix Authorization Strategy Plugin 이 설치가 되어 있지 않다. 사용자별/프로젝트별 프로젝트 관리를 위해서는 필요한 플러그인이다. 설치가 안되어 있다면 설치해준다. 사용자 생성 일단 사용자 생성을 한다. 사용자 생성은 Jenkins 관리 > Manage Users 에서 할 수 있다. 이렇게 A user와 B user를 생성하였다. Job 생성 이 글을 읽는 분들이라면 Jenkins에 이런 Job들은 있을것이..
Jenkins 실행중에 다음과 같은 오류가 발생하였다. 상황은 A라는 서버에서 잘 돌고 있는 jenkins를 그대로 가지고 와서 B라는 서버에서 돌린 것이다. 가지고 올때 A 서버의 jenkins job의 상태값까지도 들고 와서 위와 같이 DirectoryNotEmptyException 이 발생을 한 것이라고 보면 된다. 해결책으로는 오류로그에서 명시된 /jenkins설치경로/data/jobs/job이름/lastSuccessful 와 lastStable 을 찾아가 그곳의 기록을 지워주면 오류는 해결된다. 끝!
오래전에 Jenkins에서 JaCoCo 연동하는 방법에 대해 기술을 한적이 있다. 오래전에 해서였을까.. 오랜만에 다시 연동을 하려고 하니 뭐가 문제였는지 다음과 같이 나오며 연동이 잘 되지 않았다. 예전에 하던것(Ant Build & Deploy)과는 다르게 Springboot로 배포된 war 파일을 압축풀고 이 class 파일로 jacoco.exec 파일로 매핑을 해서 이런 문제가 생기나 하고 한참 삽질을 했다. 결론을 먼저 말하자면 원인은 이런 문제 때문이 아니었다. 바로 Jenkins의 JaCoCo plugin이 문제였다. 필자는 예전에 설치된 Jenkins에 JaCoCo를 붙여야해서 Jenkins의 version은 2.1xx 였고 JaCoCo plugin은 3.0.1 이었다. 그리고 class ..
AWS ec2에 jenkins를 설치하는 방법이다. AWS ec2라고 썼지만 Amazon linux는 Redhat 계열이므로 CentOS, Fedora, Amazon Linux, Android, AIX 에서 동일한 방법으로 설치를 진행할 수 있다. 순서대로 쭉 진행하면 된다. 설치과정에 나오는 물음은 y를 입력해주면 된다. yum package update $ sudo yum -y update java 설치 $ yum install java-1.8.0-openjdk-devel.x86_64 이미 java가 설치되어 있다면 설치하지 않아도 된다. 하지만 1.8 version 은 설치가 되어 있어야 한다. Jenkins repo 추가 $ sudo wget -O /etc/yum.repos.d/jenkins.re..
AWS EC2에 Jenkins를 설치하는데 다음과 같은 오류가 발생하며 설치가 되지 않는다. 이럴때는 다음과 같이 조치가 가능하다. Redhat 계열 : CentOS, Fedora, Amazon Linux, Android, AIX $ rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key Debian 계열 : Ubuntu, Debian $ wget -qO - https://pkg.jenkins.io/debian-stable/jenkins.io.key | apt-key add - 참고로 사용하고 있는 linux 확인 방법은 다음과 같다. $ cat /etc/*release
Jenkins Job을 구성하며 Execute Shell로 Jenkins가 설치된 서버에 특정 명령을 날리려고 하였다. 아무것도 아니고 그냥 /app/jasypt 라는 폴더 밑에서 작업을 하려고 했는데 다음과 같은 오류가 발생했다. 분명 jenkins가 설치된 서버에 들어가서 /app/jasypt 라는 경로에 들어갔을때는 존재하는 폴더이고 권한 또한 알맞게 들어가 있었다. 하지만 위와 같이 cd: can't cd to 라는 오류가 발생하며 발생하며 접근이 되지 않을때는 혹시 jenkins가 docker로 설치가 되지는 않았는지 확인을 해보자. docker로 설치가 되었다면 volume으로 지정한 곳에 필요한 파일을 위치시키고 작업을 진행하도록 하자. 끝!
AWS 안의 Code Builder, Deploy를 사용하면 간단하게 할수도 있지만 그럴수 없는 상황에서는 어딘가에 설치된 Jenkins를 이용해 ec2에 배포를 해야 할수도 있다. 어떻게 배포하는지 간단히 알아보자. 일단 Jenkins는 준비가 되어 있어야 한다. 설치는 이 글을 참고하도록 하자. 설정 Jenkins에서 빌드한 결과물이 jar (or war) 형식으로 나왔다고 가정해본다. 그럼 이 파일을 ec2로 SSH를 통해 전송을 해줘야 한다. SSH 전송을 위해서는 Publish Over SSH 플러그인이 필요하다. 설치를 해준다. 설치는 Jenkins 관리 > Plugin Manager 에서 Publish Over SSH 로 검색을 해서 설치를 한다. 플러그인이 설치가 되었다면 Jenkins 관..
지금은 많이 사용되지는 않지만 Jenkins에 Ant를 연동해서 빌드를 해야 하는 경우가 종종 있다. Jenkins에서 Ant를 연동하는 방법은 Jenkins를 통해 자동으로 설치하는 방법, Ant를 따로 설치하고 Jenkins에 연동하는 방법이 있다. Jenkins에 Ant연동 다른 솔루션과의 연동을 주로 하는 부분인 Global Tool Configuration에서 Ant와 연동을 할 수 있다. 내리다 보면 Ant도 있다. Ant installations를 누른다. Ant 자동설치 그럼 위와 같이 Ant에 대한 무언가가 짠 나오는데 여기서 Install automatically 를 체크하고 Name 부분에 대충 Ant의 name을 작성하고 저장을 누르면 Ant가 자동설치 된다. 저장을 누른다고 바로 ..