이전글에 이어서 jenkins와 codedeploy를 사용해 ec2 server에 무중단 배포를 진행하겠습니다. 3. CodeDeploy 이번에는 codedeploy application을 생성해보겠습니다. 물론 jenkins만 사용해도 원격 server에 deploy를 할 수 있지만, codedeply를 사용하면 좀더 효율적으로 deploy를 수행할 수 있습니다. 특히 elb와 같이 aws에서 제공해주는 서비스를 사용하는 경우에는 codedeply를 사용해 deploy를 수행하는 것이 좋습니다. 만약 codedeploy를 사용하지 않는다면 복잡한 deploy 과정을 거치게 됩니다. 3-1) create application Codedeploy service로 이동해 create applicatoin을 ..
이번글에서는 jenkins와 codedeploy를 사용해 ec2 server에 무중단 배포를 해보도록 하겠습니다. 첫 성공까지의 history.. 😂 0. Proejct Structure 전체적인 구조는 아래와 같습니다. • local에서 spring boot application을 작성합니다. • github에 code를 push 합니다. • github에 code가 push되면 webhook이 작동해 해당 code가 jenkins server로 이동합니다. • jenkins server에서 application을 build를 합니다. • build한 파일 중 deploy 필요한 파일들을 S3에 zip해서 upload 합니다. • upload가 완료되면 codedeploy가 해당 파일을 사용해 depl..
이번글에서는 jenkins에서 gradle build를 하는 방법에 대해 알아보도록 하겠습니다. 1. Download Gradle Plugin 먼저 gradle plugin을 다운받아야 합니다. manage plugin으로 이동합니다. gradle plugin을 다운받습니다. 2. Job 다음으로 build를 실행할 job을 생성하겠습니다. SCM은 github를 사용하도록 하며, webhook을 사용하도록 하겠습니다. github과 jenkins를 webhook으로 연결하는 방법은 https://velog.io/@minholee_93/Jenkins-Integrate-with-GitHub-b2k5q9b61o 를 참고하시면 됩니다. freestyle project를 아래와 같이 생성합니다. webhook으..
이번글에서는 jenkins에서 delivery pipeline을 사용하는 방법에 대해 알아보도록 하겠습니다. 1. Build / Deploy / Test 먼저 이번 실습에서 사용할 3개의 job을 생성하고 chain으로 연결해보겠습니다. 각 job은 단순히 pwd만 수행하는 의미없는 job을 사용하겠습니다. deploy job에서 build trigger로 build job을 선택하고, post build는 test job을 선택해 3개의 job을 연결합니다. build trigger post build 이제 build job을 수행하면 아래와 같이 deploy job과 test job이 순서대로 수행됩니다. 2. Delivery Pipeline 이제 delivery pipeline을 사용해보도록 하겠습..
이번글에서는 jenkins job을 사용해 tomcat에 deploy 하는 방법에 대해 알아보도록 하겠습니다. 1. Sample.war 이번 실습에선 deploy에 war 파일을 사용하며, 구동중인 tomcat 서버가 있다고 가정하겠습니다. war 파일은 https://tomcat.apache.org/tomcat-7.0-doc/appdev/sample/ 에서 제공해주는 sample.war 파일을 사용하도록 하겠습니다. 저의 jenkins server는 linux이므로 wget을 사용해 위의 sample.war 파일을 다운받았습니다. 각자 본인들의 jenkins workspace에 위에서 다운받은 war파일을 옮겨 놓아주시면 됩니다. jenkins workspace는 jenkins home director..
이번글에서는 java file을 jenkins job을 사용해 compile 해보도록 하겠습니다. 1. Create Java file 먼저 compile에 사용할 java file이 필요합니다. 저는 jenkins가 설치된 server에서 vi를 사용해 아래와 같이 간단히 작성했습니다. Hello.java public class Hello { public static void main(String[] args){ for(int i=0; i
이번글에서는 Jenkins의 jobs에 대해 알아보도록 하겠습니다. 1. Job job이란 jenkins에서 실행되는 각각의 작업을 의미합니다. 사용자는 job을 생성하고, 해당 job에서 수행할 작업을 정의할 수 있습니다. 1-1) create job job을 생성하기위해 New item으로 이동해 생성할 job의 이름을 입력합니다. job의 종류는 freestyle project를 선택하고 OK를 누릅니다. pipline 등의 복잡한 작업들은 다음에 다뤄보도록 하겠습니다. 이번엔 가장 기본적인 freestyle project을 사용합니다. OK 버튼을 누르면 아래와 같이 작업을 정의하는 화면이 나타나게 됩니다. 간단히 살펴보겠습니다. 1-2) general job의 기본적인 설정을 정의합니다. 1-3..
이번글에서는 Jenkins의 기본적인 Configurations에 대해 알아보도록 하겠습니다. 0. Configure System system configuration 설정을 통해 jenkins의 config를 손쉽게 변경할 수 있습니다. 먼저 Manage Jenkins의 Configure System으로 이동합니다. 위에서 부터 중요한 것들만 하나하나 살펴보도록 하겠습니다. 1. Home directory jenkins의 root인 home directory를 확인할 수 있습니다. jenkins server에서 위의 경로로 이동하면 아래와 같은 파일들이 저장되어 있는 것을 확인할 수 있습니다. Github 등에서 webhook으로 pull 해오는 sorce code는 home directory의 wor..
이번글에서는 Jenkins에서 user를 등록하고 user별로 role을 부여하는 방법에대해 알아보도록 하겠습니다. 1. Create User 먼저 신규 user를 생성 해보도록 하겠습니다. jenkins server를 실행하고 admin 계정으로 로그인합니다. 저는 따로 minho 라는 admin 계정을 생성해 사용하도록 하겠습니다. 신규 계정을 생성하기 위해 Manage Jenkins로 이동합니다. 다음으로 Manage Users로 이동합니다. Create User를 클릭합니다. 마지막으로 user 정보와 password 정보를 입력해 user를 생성하면 됩니다. 저는 user1과 user2 두개의 계정을 생성했습니다. 만약 user가 login 후 자신의 계정정보를 변경하고 싶다면 화면 우측상단의 ..
이번글에서는 Jenkins의 CLI 사용법에대해 알아보도록 하겠습니다. 1. Jenkins CLI CLI를 사용하면 쉽고 빠르게, Jenkins server를 조작할 수 있습니다. 먼저 Jenkins server에서 /cli를 입력해 이동합니다. 다음으로 아래의 경로를 클릭해 jenkins-cli.jar 파일을 다운받습니다. 다운 받은 경로로 이동해 아래의 명령어를 통해 간단히 jenkins cli를 사용할 수 있습니다. 저는 C:\jenkins에 다운받았습니다. 모든 available command는 화면에 잘 작성되어 있습니다. jenkins cli java -jar jenkins-cli.jar -s http://:/ 각자 jenkins server와 port를 입력해 사용하면 됩니다. jenkins..
이번글에서는 Jenkins Project에 Github Repository를 연결해보도록 하겠습니다. 1. Jenkins Setting 1-1) download plugin Github와 Jenkins를 연결하기위해선, Github Integeration Plugin이 필요합니다. Jenkins dashboard에서 Manage Jenkins을 클릭합니다. 다음으로 Manage Plugins를 클릭합니다. Available 탭에서 Github Integration을 선택해 download 합니다. 1-2) create jenkins job 다음으로 Github repo와 연결할 job을 간단히 생성해보도록 하겠습니다. Jenkins 메인화면에서 New Item을 클릭합니다. FreeStyle Projec..
이번글에서는 AWS EC2에 Jenkins를 download 하고 tomcat 위에 올려보도록 하겠습니다. 0. EC2 이번글에서는 Amazon Linux EC2 인스턴스를 사용하도록 하겠습니다. 저는 windows 환경이므로 putty를 사용해 ec2 인스턴스에 접속했습니다. 최종적으로 EC2에 설치한 Tomcat은 8080 port로 접근할 것 이므로, 아래와 같이 Security Group에서 8080 port를 열어줍니다. 1. Download Java 먼저, Amazon Linux EC2의 default java version은 1.7이므로 이를 제거하고 1.8 version의 java를 다운로드 해줍니다. 아래와 같이 순서대로 명령어를 입력합니다. download openjdk sudo yum..