본문 바로가기

Jenkins

AWS EC2를 사용하여 Jenkins 구축하기(7)

반응형

Jenkins git 연동


1.     Jenkins 관리 -> 플러그인 관리 ->

2.     Publish over SSH 설치

3.     sudo systemctl restart Jenkins 명령어를 수행하여 Jenkins 재시작.

 

4.     SSH 인증 설정

 A.     Jenkins 로 접속하여 jenkins관리->환경설정->publish over SSH 그룹으로 와서 key부분에 ec2 인스턴스를 생성할 때 받은 키페어(.pem)파일 내용을 복사하여 값을 붙여넣어줍니다.

                         i.         Name 은 임의의 이름을 지정하시면 됩니다.

                        ii.         Host name AWS도메인이나 IP주소를 넣어주시면 됩니다.

                       iii.         Username putty로 접속할 때 사용하는 userName이어야 합니다.

                       iv. Remote Directory 는 배포할 서버의 기본디렉토리 입니다. 저는 최상위인 “/”

 B.     설정한후에 Test Configuration 버튼을 꼭 눌러 Success를 확인하시길 바랍니다.

 C.      Apply 하고 저장버튼을 클릭해줍니다.

 D.      이렇게 되면 이제 defaultjenkins가 서버의 관리자 권한을 갖게 되며 서버와 자유롭게 연결할수 있습니다.

 

5.     이제 다시 Jenkins main으로 가서 새로운 Item 버튼을 클릭합니다.

6.     Freestyle project를 선택하고 이름을 붙여준뒤 ok를 클릭

7.     아래 그림과 같이 원하는 설명을 추가해줍니다

8.     sudo yum install git 명령어로 서버에 git을 설치해줍니다.

9.     소스코드 관리 부분은 그림과 같이 설정한다

10.     빌드 유발 및 빌드환경은 PHP코드를 배포할것이기에 설정해줄 필요없습니다.

11.     제일 중요한건 Build->Add build step->Send files or execute commands over SSH 입니다

12.    그림과 같은 화면이 나옵니다.각항목에 대해서 설명을 하자면

A.     최 상단에 있는 Name publish over ssh 설정할시에 임의로 지정해준 이름입니다.

B.      Source files 는 어떤 소스파일을 저장할건지 설정합니다.전 모든 파일을 배포할것이기에 **/**로 하였습니다.

C.      Remove prefix 는 디렉토리 경로에서 삭제해버릴 하위경로 문자열입니다.

D.     Remote directory는 서버상 어디에 배포할건지 경로를 지정해줍니다.

E.      Exec command 는 파일 업로드 완료후 실행할 명령입니다.파일들의 예를들면 파일들의 권한을 설정할수 있습니다.

 

 

이렇게 환경 구축이 끝났습니다.

 

Github 연동테스트


이제 자동배포 환경세팅이 끝이났으니 테스트해볼차례입니다.

 

1.     개인계정에 미리 만들어논 RepoClone하여 Local에 저장합니다.

2.     빌드전 /var/lib/jenkins/workspace/test_php/ 디렉토리의 파일들을 확인합니다

3.     Clone 해온 Local 디렉토리에서 foo,php,foo2.php,foo3.php를 생성하였습니다.이제 커밋&푸시를 해보겠습니다.

Build Now를 클릭하여 새로운 Push를 배포해보겠습니다.

4.     Build Now를 클릭하여 새로운 Push를 배포해보겠습니다.

/var/lib/jenkins/workspace/test_php/경로로 이상없이 배포되는 것을 볼수 있습니다.

반응형