예제를 통해 실습을 해보자.
실습에 사용할 샘플 프로그램은 "youtube downloader" 이다.
이름 그대로 youtube 의 URL 을 통해 영상을 다운로드 하는 프로그램이다.
이곳에 가면, 소스와 설명을 살펴 볼 수 있다.
https://github.com/rg3/youtube-dl
"Clone or download" 을 클릭하면 git 주소를 얻을 수 있다.
사전에 먼저 필요한 패키지를 설치하자.
youtube-dl 을 컴파일하는데 필요한 패키지들이다.
% sudo apt-get install zip python pandoc
Jenkins 젠킨스에서 새로운 Item을 생성한 후, 아래처럼 설정한다.
설정을 완료되었으면, Build Now 를 클릭한다.
#1 은 작업 번호를 나타낸다.
#1 작업의 시작 시간을 클릭하면 세부 항목을 볼 수 있다.
Build 의 실제 진행 상황을 볼 수 있다.
Build 완료 후, 실행해 보자.
정상적으로 잘 수행되는걸 확인할 수 있다.
youtube-dl 사용법은 구글링해서 참고하면 된다.
출처
https://jenkins.io
http://jibak.tistory.com/11
http://jibak.tistory.com/12
http://ict-nroo.tistory.com/35
http://yookeun.github.io/tools/2014/09/18/jenkins-github
http://jojoldu.tistory.com/291
2019년 3월 19일 화요일
Jenkins 젠킨스 Git 깃 연동 (1)
Jenkins(젠킨스)와 Git(깃)을 연동해 보자.
새로운 Item 을 클릭한다.
새로운 Item 을 만드는 화면이 나온다.
Enter an item name 을 자유롭게 입력한 후,
Freestyle project 를 클릭한다.
"소스 코드 관리" -> "Git" 클릭한다.
"Repository URL" 에 소스코드가 들어 있는 git 주소를 입력한다.
주소는 ssh 로 시작하는 주소를 넣으면 된다.
왜냐하면 ssh 로 시작하는 주소는 authorized_keys 를 등록해 놓으면,
소스를 가져올 때 암호를 물어보지 않기 때문이다.
Git 주소를 입력하면, jenkins(젠킨스)는 접속 테스트를 시도한다.
authorized_keys 가 등록되어 있지 않다면, 에러가 발생한다.
Git 주소가 public 이면 상관없지만,
public 이 아닐 경우는 authorized_keys 를 등록해야 한다.
Git 주소 입력 후, Add 버튼을 클릭한다.
Credentials 를 추가하자.
Username, Description 은 적당히 넣으면 된다.
Password, ID 는 Git 에서 사용하는 계정을 넣으면 된다.
"Build" -> "Add build step" -> "Execute shell" 클릭한다.
이곳에서 빌드를 수행할 명령어를 입력 하면 된다.
일반적으로 ./configure; make; make install; 를 넣으면 된다.
테스트를 위해 mk.sh 라는 쉘을 만들고 수행이 되는지 확인해 봤다.
"저장" 을 클릭한다.
"Project Item 1" 화면으로 전환된다.
"Item 1" 은 위에서 설정한 이름이므로, 설정에 따라 다르게 나타날 것이다.
"Build Now" 를 클릭하면, Build 가 진행되고 있다는 내용이 표시된다.
#1 은 작업 번호를 나타낸다.
#1 작업의 시작 시간을 클릭하면 세부 항목을 볼 수 있다.
혹은, #1 작업 번호에 마우스를 갖다대면, 팝업 메뉴가 나타난다.
"Console Output" 을 클릭한다.
Build 의 실제 진행 상황을 볼 수 있다.
Git 서버로 부터 소스를 받아와서, mk.sh 를 수행하는 모습을 볼 수 있다.
위에서 mk.sh 대신에 ./configure; make; make install; 를 입력했다면,
소스 컴파일이 수행 되었을 것이다.
Git 서버에서 받아온 소스 파일 및 컴파일 파일들은
"/root/.jenkins/workspace/Item 1" 에 저장된다.
당연한 것이겠지만,
"/root" 는 jenkins 를 수행한 계정에 따라 달라지고,
"Item 1" 은 설정한 이름에 따라 달라지게 된다.
출처
https://jenkins.io
http://jibak.tistory.com/11
http://jibak.tistory.com/12
http://ict-nroo.tistory.com/35
새로운 Item 을 만드는 화면이 나온다.
Enter an item name 을 자유롭게 입력한 후,
Freestyle project 를 클릭한다.
"소스 코드 관리" -> "Git" 클릭한다.
"Repository URL" 에 소스코드가 들어 있는 git 주소를 입력한다.
주소는 ssh 로 시작하는 주소를 넣으면 된다.
왜냐하면 ssh 로 시작하는 주소는 authorized_keys 를 등록해 놓으면,
소스를 가져올 때 암호를 물어보지 않기 때문이다.
Git 주소를 입력하면, jenkins(젠킨스)는 접속 테스트를 시도한다.
authorized_keys 가 등록되어 있지 않다면, 에러가 발생한다.
Git 주소가 public 이면 상관없지만,
public 이 아닐 경우는 authorized_keys 를 등록해야 한다.
Git 주소 입력 후, Add 버튼을 클릭한다.
Credentials 를 추가하자.
Username, Description 은 적당히 넣으면 된다.
Password, ID 는 Git 에서 사용하는 계정을 넣으면 된다.
"Build" -> "Add build step" -> "Execute shell" 클릭한다.
이곳에서 빌드를 수행할 명령어를 입력 하면 된다.
일반적으로 ./configure; make; make install; 를 넣으면 된다.
./configure make make install |
테스트를 위해 mk.sh 라는 쉘을 만들고 수행이 되는지 확인해 봤다.
./mk.sh |
"저장" 을 클릭한다.
"Project Item 1" 화면으로 전환된다.
"Item 1" 은 위에서 설정한 이름이므로, 설정에 따라 다르게 나타날 것이다.
"Build Now" 를 클릭하면, Build 가 진행되고 있다는 내용이 표시된다.
#1 은 작업 번호를 나타낸다.
#1 작업의 시작 시간을 클릭하면 세부 항목을 볼 수 있다.
혹은, #1 작업 번호에 마우스를 갖다대면, 팝업 메뉴가 나타난다.
"Console Output" 을 클릭한다.
Build 의 실제 진행 상황을 볼 수 있다.
Git 서버로 부터 소스를 받아와서, mk.sh 를 수행하는 모습을 볼 수 있다.
위에서 mk.sh 대신에 ./configure; make; make install; 를 입력했다면,
소스 컴파일이 수행 되었을 것이다.
Git 서버에서 받아온 소스 파일 및 컴파일 파일들은
"/root/.jenkins/workspace/Item 1" 에 저장된다.
당연한 것이겠지만,
"/root" 는 jenkins 를 수행한 계정에 따라 달라지고,
"Item 1" 은 설정한 이름에 따라 달라지게 된다.
출처
https://jenkins.io
http://jibak.tistory.com/11
http://jibak.tistory.com/12
http://ict-nroo.tistory.com/35
Jenkins(젠킨스) 설치
Jenkins(젠킨스)는 소프트웨어 개발 시 지속적으로 통합 서비스를 제공하는 툴이다.
CI(Continuous Integration) 툴 이라고 표현한다.
이게 무엇인고 하고 구글링을 해보니,
다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유영역에 있는 저장소에 빈번히 업로드함으로써 지속적 통합이 가능하도록 해주는 것이라 한다.
이건 또 무슨말인가.... 하고 구글링을 더 해보니,
옛날옛날에는 개발자들이 당일 작성한 소스들의 커밋이 모두 끝난 심야 시간대에,
build(빌드)를 실행하는 방식이 일반적이었다.
Jenkins(젠킨스)와 같은 CI(Continuous Integration) 툴이 등장하면서,
GIT, SVN 같은 버전관리 툴과 연동하여 소스의 커밋을 감지하면,
자동적으로 빌드가 작동되도록 하는 방식이다.
원래 허드슨 프로젝트로 개발되었고, 지금은 Jenkins(젠킨스) 이름으로 변경되었다고 한다.
이러쿵 저러쿵 내용이 많아서 여기까지 하고, 직접 사용해 보자.
Jenkins(젠킨스) 설치 전에 먼저 Java, Tomcat 이 설치되어 있어야 한다.
https://jenkins.io/download
지원하는 플랫폼이 많다.
Azure
Docker
FreeBSD
Mac
OpenBSD
openSUSE
Red Hat/Fedora/CentOS
Ubuntu/Debian
Windows
Generic Java package (.war)
8090 포트번호로 서비스를 시작해 보자.
포트번호는 마음대로 할 수 있다.
% java -jar jenkins.war --httpPort=8090
뭐짓?
허가 거부..... 권한이 없다는 뜻인가 보다.
root 권한으로 실행해 보자.
% sudo java -jar jenkins.war --httpPort=8090
뭔가 메세지가 주루룩 뜨면서 마지막에 잘 되었다고 나온다.
Jenkins is fully up and running
(나중에 알게 된 사실인데, 특정 port 번호 이하는 root 권한이 있어야 한다.)
(8090 말고 10000 으로 하면 일반 계정으로도 실행할 수 있다.)
plugin 을 수동으로 내가 선택해서 설치할 것인지,
많이들 사용하는 추천 plugin 을 자동으로 설치할 것인지 물어보고 있다.
suggested plugins 가 있으면 편리할거 같으니, 이걸 선택하도록 하자.
커피 한잔 하면서 기다리자.
관리자 계정을 생성하자.
안내문구를 잘 살펴보자.
만약 현재 URL 이 아닌 다른 URL 으로 변경하게 되면,
BUILD_URL 을 설정해야 한다는게 주요 내용이다.
start 하자
메인 페이지가 잘 뜬다.
마지막으로,
터미널에서 java 를 fore-ground 로 실행한 것을 back-ground 로 변경하자.
ctrl + z 를 누르면 java 가 suspend 된다.
back-ground 로 변경하자.
% bg
처음부터 & 를 사용해도 된다.
% sudo java -jar jenkins.war --httpPort=8090 &
출처
https://jenkins.io
http://www.moreagile.net/2014/01/jenkins-cicontinuous-integration-2.html
CI(Continuous Integration) 툴 이라고 표현한다.
이게 무엇인고 하고 구글링을 해보니,
다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유영역에 있는 저장소에 빈번히 업로드함으로써 지속적 통합이 가능하도록 해주는 것이라 한다.
이건 또 무슨말인가.... 하고 구글링을 더 해보니,
옛날옛날에는 개발자들이 당일 작성한 소스들의 커밋이 모두 끝난 심야 시간대에,
build(빌드)를 실행하는 방식이 일반적이었다.
Jenkins(젠킨스)와 같은 CI(Continuous Integration) 툴이 등장하면서,
GIT, SVN 같은 버전관리 툴과 연동하여 소스의 커밋을 감지하면,
자동적으로 빌드가 작동되도록 하는 방식이다.
원래 허드슨 프로젝트로 개발되었고, 지금은 Jenkins(젠킨스) 이름으로 변경되었다고 한다.
이러쿵 저러쿵 내용이 많아서 여기까지 하고, 직접 사용해 보자.
Jenkins(젠킨스) 설치 전에 먼저 Java, Tomcat 이 설치되어 있어야 한다.
Java 설치는 여기를 참고하자.
http://kimchki.blogspot.com/2019/03/ubuntu-1604-java-8-open-jdk.html
Tomcat 설치는 여기를 참고하자.
http://kimchki.blogspot.com/2019/03/ubuntu-1604-tomcat-8.html
Jenkins(젠킨스)를 다운로드 하자.Tomcat 설치는 여기를 참고하자.
http://kimchki.blogspot.com/2019/03/ubuntu-1604-tomcat-8.html
https://jenkins.io/download
지원하는 플랫폼이 많다.
Azure
Docker
FreeBSD
Mac
OpenBSD
openSUSE
Red Hat/Fedora/CentOS
Ubuntu/Debian
Windows
Generic Java package (.war)
플랫폼은 패키지 형태로 설치하는거고,
deb rpm msi pkg(mac) 형태로 제공하는거고,
docker 는 docker pull 명령어를 사용하는거고,
war 은 그냥 실행하는거다.
war 을 사용해서 실행하는 방식을 사용해 보자.
war 을 다운로드 한다.
다운받은 war 을 실행해 보자.
war 을 다운로드 한다.
다운받은 war 을 실행해 보자.
8090 포트번호로 서비스를 시작해 보자.
포트번호는 마음대로 할 수 있다.
% java -jar jenkins.war --httpPort=8090
뭐짓?
허가 거부..... 권한이 없다는 뜻인가 보다.
root 권한으로 실행해 보자.
% sudo java -jar jenkins.war --httpPort=8090
뭔가 메세지가 주루룩 뜨면서 마지막에 잘 되었다고 나온다.
Jenkins is fully up and running
(나중에 알게 된 사실인데, 특정 port 번호 이하는 root 권한이 있어야 한다.)
(8090 말고 10000 으로 하면 일반 계정으로도 실행할 수 있다.)
접속해 보자.
http://127.0.0.1:8090
아래처럼 나온다면 접속이 된것이다.
계속 진행하기 위해서는 password 를 입력해야 한다.
password 는 /root/.jenkins/secrets/initialAdminPassword 이곳에 있다.
파일에 들어있는 password 를 입력하자.
% cat /root/.jenkins/secrets/initialAdminPassword
password 는 /root/.jenkins/secrets/initialAdminPassword 이곳에 있다.
파일에 들어있는 password 를 입력하자.
% cat /root/.jenkins/secrets/initialAdminPassword
plugin 을 수동으로 내가 선택해서 설치할 것인지,
많이들 사용하는 추천 plugin 을 자동으로 설치할 것인지 물어보고 있다.
suggested plugins 가 있으면 편리할거 같으니, 이걸 선택하도록 하자.
커피 한잔 하면서 기다리자.
안내문구를 잘 살펴보자.
만약 현재 URL 이 아닌 다른 URL 으로 변경하게 되면,
BUILD_URL 을 설정해야 한다는게 주요 내용이다.
start 하자
메인 페이지가 잘 뜬다.
마지막으로,
터미널에서 java 를 fore-ground 로 실행한 것을 back-ground 로 변경하자.
ctrl + z 를 누르면 java 가 suspend 된다.
back-ground 로 변경하자.
% bg
처음부터 & 를 사용해도 된다.
% sudo java -jar jenkins.war --httpPort=8090 &
출처
https://jenkins.io
http://www.moreagile.net/2014/01/jenkins-cicontinuous-integration-2.html
피드 구독하기:
글 (Atom)
화곡 어쩌라고, 굴사냥
석화찜(굴찜)을 먹으러 여의도로 갔다 그런데 재료가 모두 소진되었다고 마감이라고 한다 응? 다들 굴에 미쳤나? 굴을 찾아 헤매다 보니, 화곡까지 가게 되었다. 화곡은 처음 가본다. 첫인상은 "술집 겁네 많네" 피똥쌀때까지 마실 수 있...

-
종종 youtube에서 영상이나 노래를 다운로드 하고 싶을 때가 있다. 그래서 구글에서 검색해보면 수 많은 유투브(youtube) 다운로드(download) 사이트, 프로그램 정보를 찾을 수 있다. 그 중에서 몇가지를 기록해 두고자 한다. ...
-
Thunderbird(썬더버드) 백업 하는 방법은 간단하다. Thunderbird(썬더버드)는 특정 폴더에 메일 계정 정보와 메일 내용 모두 저장된다. 그러므로, 그 특정 폴더만 잘 백업하면 된다. 탐색기 실행 후, 아래 내용...
-
PostgreSQL의 version은 major, minor version 으로 구분된다. 10 이후 version은 두 자리로 구성되고, 이전 version은 세 자리로 구분된다. 예를 들어 10.1 version에서 10은 major vers...