👨🍳 jenkins | February 11, 2021
사실 이전에 Jenkins를 이용해서 docker를 자동으로 빌드하는 것을 테스트 해보았는데 생각해보니 webhook을 연동하려면 웹 호스팅이 필요했다. 로컬의 VM으로는 불가능… 결국 AWS-EC2로 빠르게 설정하고 테스트해보았다.
이때동안 우분투 AMI만 사용했기에 빠른 시작 탭에서 이미지를 구할 수 있었는데 centos 이미지는 AWS-Marketplace에서 찾을 수 있다.
이후 젠키스의 기본 포트는 8080 포트이기 때문에 보안 그룹.인바운드에서 8080 포트를 개방해 주었다.
Jenkins와 github webhook를 위한 것이기 때문에 자세한 EC2 생성은 생략
$ sudo yum -y updateJenkins는 자바 기반으로 돌아가는 오픈 소스이기 때문에 자바가 설치되어 있어야한다. 자바설치
$ sudo yum install java-1.8.0$ sudo yum install -y wget$ sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.reposudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key$ sudo yum install jenkins$ sudo systemctl status jenkins
$ sudo systemctl start jenkins8080 포트 LISTENING 중인지 확인$ netstat -na | grep 8080$ sudo cat /var/lib/jenkins/secrets/initialAdminPassworWebhook은 웹상의 Trigger 같은 존재입니다. GitHub의 지정한 브랜치에 소스가 push 되면 webhook으로 젠킨스에게 알려주어 빌드를 유발하도록 설정합니다.
Jenkins [새로운 item - Freestyle project] 생성
GitHub hook trigger for GITScm polling를 체크빌드할 내용을 정의
GitHub의 Webhook 세팅
Add webhook 버튼을 클릭Payload URL에 나의 젠키스 서버 주소를 입력 +
/github-webhook/뒤에 추가적으로 입력해주어야 한다.
Active버튼을 클릭해 활성화
echo로 적은 명령어도 정상 출력되었다.https://yaboong.github.io/jenkins/2018/05/14/github-webhook-jenkins/