Jenkins: 14개의 글
오늘 다루어볼 포스팅은 Git과 Jenkins를 연동한 이후에 Jenkins Mulibranch pipeline으로 springboot web project를 docker image로 빌드 후 push하는 것까지 다루어볼 것이다. 이전까지는 오늘 다루어볼 포스팅의 연습 및 준비단계였고 본격적으로 CI/CD에 대해 다루어본다. 물론 오늘 다루어볼 포스팅 내용이 실무에서 그대로 활용하기 애매할 수는 있지만 포스팅을 이어나가면서 좀 더 보완해나갈 것이다. 1. Git & Jenkins 연동 후 Multibranch pipeline 작성 Jenkins - CentOS에 docker 환경으로 Jenkins 설치(Jenkins&GitHub CI) Jenkins - Jenkins&GitHub을 이용하여 아주 간단한 ..
아마 이번 포스팅부터 Jenkins(젠킨스)에서 정말 쓸모 있는 부분을 다룰 것 같다. 젠킨스 파이프라인을 다루기 전에 Jenkins 안에서 dood(docker out of docker)로 docker agent를 실행하는 방법에 대해 다루어 볼 것이다. 실제로 많이 사용하는 유즈케이스이기도 하다. 그 이유는 필요한 라이브러리를 직접 설치하거나 하지 않고 Jenkins pipeline 스크립트 안에서 docker agent를 이용해 설치하면 별도로 의존성있는 라이브러리를 직접 설치하지 않아도 되고, 또한 Jenkins에서 Docker image를 빌드할때도 필요하다. 즉, 요즘 같이 도커가 대중화되있는 시대에는 거의 필수이지 않을까 싶다.(더 좋은 방법이 있다면 댓글로 알려주시면 감사하겠다.) 우리가 ..
오늘 다루어볼 포스팅은 간단하게 젠킨스의 빌드 시작과 성공/실패에 대한 알림을 슬랙으로 받는 방법이다. 간단해서 아주 짧은 포스팅이 될 것 같다. 1. Slack Jenkins CI app install 예제는 이미 슬랙이 설치되어있고 계정이 있다는 가정에서 진행한다. 채널을 하나 생성해준 후 밑의 Apps 버튼을 누른다. 젠킨스(Jenkins)로 검색하여 다운로드 한다. 알림받을 채널을 입력한다. 진행하다보면 슬랙의 Team Subdomain과 인증 token을 받을 수 있다. 이러한 데이터를 이용하여 Jenkins에서 Slack과의 연동 설정을 할것이다. 젠킨스 설정에서 이제 슬랙과 연동을 할 것이다. 플러그인 관리에서 Slack Notification plugin을 install 해준다. 이제 Je..
이전 포스팅에 이어 Jenkins&GitHub을 이용한 CI 실습을 다루어볼 것이다. 이번 포스팅에서는 본격적으로 실습을 진행하기 전에 아주 간단한 echo를 찍어주는 pipeline 하나를 만들어 볼 것이다. 사실 이것을 설명하는 이유는 멀티브랜치 파이프라인에 대해 조금 이해해보기 위함이다. 1. Multibranch Pipeline 생성 사실 우리가 개발할때, 버전관리 시스템에서 브랜치를 하나만 사용하여 개발하지 않는다. 각 회사마다의 브랜치 전략이 있겠지만 가장 대중적인 브랜치 전략은 아래와 같다. Feature branch Integration branch Master branch(production branch) 이렇게 여러개의 브랜치를 가지고 개발을 진행하고 이러한 멀티 브랜치 전략에 대해 J..
오늘 다루어볼 내용은 CI의 핵심 젠킨스(Jenkins)를 다루어볼 것이다. 사실 이번 포스팅을 시작으로 젠킨스(Jenkins) 관련 몇개의 포스팅이 더 있을 듯하다. 오늘은 간단히 CentOS환경에 docker로 Jenkins를 설치해볼 것이다. 바로 예제로 넘어간다. 필자는 미리 CentOS VM을 준비하였다.(사실 회사에서 장비를 맘껏 받아쓸 수 있어서 ㅎㅎ 실습용으로 생성했다.) 이번 포스팅은 CentOS가 준비되어 있다라는 가정이다. 1. CentOS에 Docker Engine 설치 첫번째로 Docker Engine을 설치해보자. > sudo yum -y update > sudo yum -y install docker docker-registry > sudo systemctl start dock..
목록 설치하기 소스관리 : Jenkins + 원격 Git Server 사용하기 배포설정 : Jenkins + Node.js 프로젝트 배포하기 빌드 및 배포 : Jenkins + Node 연동하기 1) node 빌드를 위한 매개변수 추가 - remote_ip : 원격접속 아이피 - app_root : 프로젝트 소스가 들어있는 경로 - branch_name : git 에서 받을 브랜치 이름 2) Jenkins 관리 > 플러그인 관리 3) 설치 가능 탭 클릭 4) Managed Script 설치 5) Jenkins 관리 > Managed files 클릭 6) Add a new Config 클릭 7) Managed script file 를 체크한 다음 Submit 버튼 클릭 8) 위에서 선언한 Argument ..
목록 설치하기 소스관리 : Jenkins + 원격 Git Server 사용하기 배포설정 : Jenkins + Node.js 프로젝트 배포하기 소스코드관리 : Jenkins + Remote Git 사용하기 1) 빌드를 위한 git 설치 # yum install -y git 2) ssh key 생성 $ mkdir .ssh $ cd ./.ssh $ ssh-keygen -t rsa 3) Git Server에 ssh key 전송하기 # scp id_rsa.pub git@[Git Server 아이피]/home/[Git Server 사용자이름]/.ssh/jenkins_id_rsa.pub # scp id_rsa.pub git@192.168.136.122/home/git/.ssh/jenkins_id_rsa.pub 4) ..
목록 설치하기 소스관리 : Jenkins + 원격 Git Server 사용하기 배포설정 : Jenkins + Node.js 프로젝트 배포하기 1) wget 설치 # yum install -y wget 2) jenkins 레포지토리 추가/ key 파일 임포트 # wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo # rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key 3) jenkins 설치 # yum install -y jenkins 4) jenkins 포트변경 8080 ---> 9090 # vi /etc/sysconfig/jenkins JEN..
1. 환경- Ubuntu 12.04.4 LTS- JAVA7- jenkins 1.565- Tomcat 7.0- Maven 1.7.0_55 2. 다운로드 http://jenkins-ci.org/jenkins.war 파일을 다운받고 tomcat에 Deploy한다.tomcat에 Deploy하는 방법은 따로 설명하지 않겠다. 간단하게 webapps폴더에 넣고 tomcat실행하면 자동으로 Deploy된다. 접근 url 또한 http://localhost:8080/jenkins 이렇게 접근하면 된다. 3. 시스템 설정 - tomcat-users.xml 설정jenkins를 사용하여 tomcat에 자동 Deploy를 설정하기 위해서tomcat/conf/tomcat-users.xml 파일을 수정한다. - jenkins 관..
Jenkins 관리 - 보안, 사용자 jenkins에 로그인을 할 수 있도록 설정하는 방법!! 사용자 등록은 간단합니다 =) 'Jenkins 관리' 메뉴에 들어가면 여러가지 메뉴들이 나옵니다. 'Configure Global Security' 클릭!클릭! 체크 박스 두 개가 나오는데요, 'Enable security'를 클릭할께요~ 그 밑으로 뭐가 막 생겼어요@@ Security Realm 부분에 Jenkins' own database를 체크하면 사용자의 가입을 허용한다는게 나타나면서 자동 선택됩니다. 그대로 저장!! 오른쪽 상단에 로그인|가입 이라고 생긴게 보이실거에요~ 가입을 클릭하면 간단한 사용자 등록화면이 나타납니다. 입력 내용도 많지 않아요! 내용 입력 후 'Sign up' 클릭!클릭!로그인이 ..