Git에 커밋되면 Jenkins의 Job이 움직이는 것을 시도하십시오.
※ Git과 Jenkins를 로컬 서버 (CentOS7)에 구축하고 협력 해보십시오.
Git과 Jenkins의 연계는 가능했기 때문에, Git에 커밋되면 Job이 동작하도록 해 보았습니다.
예상되는 동작
①Git에 커밋
② Jenkins의 Job이 가동
③ 커밋된 Git에서 pull하여 최신 모듈을 획득
환경
· Jenkins 서버 (192.168.11.95)
CentOS 7.6.1810
Jenkins 2.150.2
· Git 서버 (192.168.11.96)
CentOS 7.6.1810
git 1.8.3.1
Git pull 대상 만들기
연계되어 있는지를 간단하게 확인할 수 있도록, pull처를 Apache의 DocumentRoot하하로 했다.
· 아파치 설치
yum install -y httpd
systemctl start httpd
systemctl enable httpd
· 커밋 된 Git 리포지토리에서 풀링 할 리포지토리 생성
cd /var/www/html
mkdir git-test
cd git-test
git init
git remote add origin /root/local
git pull origin master
이제/var/www/html/git-test 아래에/root/local 아래와 유사한 파일이 배치됩니다.
그리고,
htp //192.168.11.96/기 t-st
에 배치되어 있는 파일의 일람을 확인할 수 있다.
Jenkins에서 Job 만들기
· 설정 화면으로 이동
"새 Job 만들기"를 클릭
・이름 설정
적절한 이름을 입력하고 "프리 스타일 프로젝트 빌드"를 선택하십시오.
· 관리 대상 리포지토리
※인증 정보 등은 상기 사항을 참조하십시오.
· 빌드 · 트리거
"SC< 폴링"을 선택
・빌드 내용
"쉘 실행"을 선택하고,
ssh 로오 [email protected] "cd/var/www/html/git-test; git pull origin master"
입력
결과
・동작 확인
콘솔 출력을 확인하면 "FAIRULE"이라고 나왔다. . .
· 원인 조사
jenkins 서버에서 만약을 위해 ssh 소통을 확인하면 정상 종료했다.
[root@jenkins ~]# ssh [email protected] "cd /var/www/html/git-test; git pull origin master"
From /root/local
* branch master -> FETCH_HEAD
Already up-to-date.
Jenkins의 Job에서 "쉘 실행"으로 실행 유저를 확인해 보면, jenkins 유저인 것이 발각. . .
따라서 jenkins 사용자로부터 ssh하고 root 로그인할 수 있도록 변경.
대처
편하게 할 수 있을 것 같은 대응했습니다.
· jenkins 사용자 설정 변경
기본 설정은 jenkins 사용자에게 전환 할 수 없으므로 전환 할 수 있도록 변경
vi /etc/passwd
jenkins:x:996:994:Jenkins Automation Server:/var/lib/jenkins:/bin/false
↓
jenkins:x:996:994:Jenkins Automation Server:/var/lib/jenkins:/bin/bash
※最後を"bash"にしただけ
· 키 작성 및 배치
[root@jenkins etc]# su - jenkins
Last login: Wed Feb 6 21:27:30 JST 2019 on pts/0
-bash-4.2$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
※全部空欄でEnter
-bash-4.2$ ssh-copy-id [email protected]
이제 jenkins 사용자로 root 로그인할 수 있게 되어 있다.
재시도
· 즉시 실행
"빌드 실행"을 클릭
결과(2회째)
SECCESS! !
프로덕션 실행
Job이 가동되는 것을 확인했으므로, 실제로 커밋해 보아 pull 되는지를 확인한다
・사전 확인
· 커밋
[root@git local]# pwd
/root/local
[root@git local]# touch test3.txt
[root@git local]# git add .
[root@git local]# git commit -m "Job test"
[master 216860f] Job test
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 test3.txt
· 결과 확인
단단히 pull되었습니다!
사이고에게
이번에, Git와 Jenkins 모두 처음 만져서, 어느 쪽도 이해할 수 없는 것을 통감했으므로, 지적 있으면 꼭 받을 수 있으면이라고 생각합니다.
Reference
이 문제에 관하여(Git에 커밋되면 Jenkins의 Job이 움직이는 것을 시도하십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/moukuto/items/9dc4857f2a3f8b777d14
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
연계되어 있는지를 간단하게 확인할 수 있도록, pull처를 Apache의 DocumentRoot하하로 했다.
· 아파치 설치
yum install -y httpd
systemctl start httpd
systemctl enable httpd
· 커밋 된 Git 리포지토리에서 풀링 할 리포지토리 생성
cd /var/www/html
mkdir git-test
cd git-test
git init
git remote add origin /root/local
git pull origin master
이제/var/www/html/git-test 아래에/root/local 아래와 유사한 파일이 배치됩니다.
그리고,
htp //192.168.11.96/기 t-st
에 배치되어 있는 파일의 일람을 확인할 수 있다.
Jenkins에서 Job 만들기
· 설정 화면으로 이동
"새 Job 만들기"를 클릭
・이름 설정
적절한 이름을 입력하고 "프리 스타일 프로젝트 빌드"를 선택하십시오.
· 관리 대상 리포지토리
※인증 정보 등은 상기 사항을 참조하십시오.
· 빌드 · 트리거
"SC< 폴링"을 선택
・빌드 내용
"쉘 실행"을 선택하고,
ssh 로오 [email protected] "cd/var/www/html/git-test; git pull origin master"
입력
결과
・동작 확인
콘솔 출력을 확인하면 "FAIRULE"이라고 나왔다. . .
· 원인 조사
jenkins 서버에서 만약을 위해 ssh 소통을 확인하면 정상 종료했다.
[root@jenkins ~]# ssh [email protected] "cd /var/www/html/git-test; git pull origin master"
From /root/local
* branch master -> FETCH_HEAD
Already up-to-date.
Jenkins의 Job에서 "쉘 실행"으로 실행 유저를 확인해 보면, jenkins 유저인 것이 발각. . .
따라서 jenkins 사용자로부터 ssh하고 root 로그인할 수 있도록 변경.
대처
편하게 할 수 있을 것 같은 대응했습니다.
· jenkins 사용자 설정 변경
기본 설정은 jenkins 사용자에게 전환 할 수 없으므로 전환 할 수 있도록 변경
vi /etc/passwd
jenkins:x:996:994:Jenkins Automation Server:/var/lib/jenkins:/bin/false
↓
jenkins:x:996:994:Jenkins Automation Server:/var/lib/jenkins:/bin/bash
※最後を"bash"にしただけ
· 키 작성 및 배치
[root@jenkins etc]# su - jenkins
Last login: Wed Feb 6 21:27:30 JST 2019 on pts/0
-bash-4.2$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
※全部空欄でEnter
-bash-4.2$ ssh-copy-id [email protected]
이제 jenkins 사용자로 root 로그인할 수 있게 되어 있다.
재시도
· 즉시 실행
"빌드 실행"을 클릭
결과(2회째)
SECCESS! !
프로덕션 실행
Job이 가동되는 것을 확인했으므로, 실제로 커밋해 보아 pull 되는지를 확인한다
・사전 확인
· 커밋
[root@git local]# pwd
/root/local
[root@git local]# touch test3.txt
[root@git local]# git add .
[root@git local]# git commit -m "Job test"
[master 216860f] Job test
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 test3.txt
· 결과 확인
단단히 pull되었습니다!
사이고에게
이번에, Git와 Jenkins 모두 처음 만져서, 어느 쪽도 이해할 수 없는 것을 통감했으므로, 지적 있으면 꼭 받을 수 있으면이라고 생각합니다.
Reference
이 문제에 관하여(Git에 커밋되면 Jenkins의 Job이 움직이는 것을 시도하십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/moukuto/items/9dc4857f2a3f8b777d14
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
・동작 확인
콘솔 출력을 확인하면 "FAIRULE"이라고 나왔다. . .
· 원인 조사
jenkins 서버에서 만약을 위해 ssh 소통을 확인하면 정상 종료했다.
[root@jenkins ~]# ssh [email protected] "cd /var/www/html/git-test; git pull origin master"
From /root/local
* branch master -> FETCH_HEAD
Already up-to-date.
Jenkins의 Job에서 "쉘 실행"으로 실행 유저를 확인해 보면, jenkins 유저인 것이 발각. . .
따라서 jenkins 사용자로부터 ssh하고 root 로그인할 수 있도록 변경.
대처
편하게 할 수 있을 것 같은 대응했습니다.
· jenkins 사용자 설정 변경
기본 설정은 jenkins 사용자에게 전환 할 수 없으므로 전환 할 수 있도록 변경
vi /etc/passwd
jenkins:x:996:994:Jenkins Automation Server:/var/lib/jenkins:/bin/false
↓
jenkins:x:996:994:Jenkins Automation Server:/var/lib/jenkins:/bin/bash
※最後を"bash"にしただけ
· 키 작성 및 배치
[root@jenkins etc]# su - jenkins
Last login: Wed Feb 6 21:27:30 JST 2019 on pts/0
-bash-4.2$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
※全部空欄でEnter
-bash-4.2$ ssh-copy-id [email protected]
이제 jenkins 사용자로 root 로그인할 수 있게 되어 있다.
재시도
· 즉시 실행
"빌드 실행"을 클릭
결과(2회째)
SECCESS! !
프로덕션 실행
Job이 가동되는 것을 확인했으므로, 실제로 커밋해 보아 pull 되는지를 확인한다
・사전 확인
· 커밋
[root@git local]# pwd
/root/local
[root@git local]# touch test3.txt
[root@git local]# git add .
[root@git local]# git commit -m "Job test"
[master 216860f] Job test
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 test3.txt
· 결과 확인
단단히 pull되었습니다!
사이고에게
이번에, Git와 Jenkins 모두 처음 만져서, 어느 쪽도 이해할 수 없는 것을 통감했으므로, 지적 있으면 꼭 받을 수 있으면이라고 생각합니다.
Reference
이 문제에 관하여(Git에 커밋되면 Jenkins의 Job이 움직이는 것을 시도하십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/moukuto/items/9dc4857f2a3f8b777d14
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
vi /etc/passwd
jenkins:x:996:994:Jenkins Automation Server:/var/lib/jenkins:/bin/false
↓
jenkins:x:996:994:Jenkins Automation Server:/var/lib/jenkins:/bin/bash
※最後を"bash"にしただけ
[root@jenkins etc]# su - jenkins
Last login: Wed Feb 6 21:27:30 JST 2019 on pts/0
-bash-4.2$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
※全部空欄でEnter
-bash-4.2$ ssh-copy-id [email protected]
· 즉시 실행
"빌드 실행"을 클릭
결과(2회째)
SECCESS! !
프로덕션 실행
Job이 가동되는 것을 확인했으므로, 실제로 커밋해 보아 pull 되는지를 확인한다
・사전 확인
· 커밋
[root@git local]# pwd
/root/local
[root@git local]# touch test3.txt
[root@git local]# git add .
[root@git local]# git commit -m "Job test"
[master 216860f] Job test
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 test3.txt
· 결과 확인
단단히 pull되었습니다!
사이고에게
이번에, Git와 Jenkins 모두 처음 만져서, 어느 쪽도 이해할 수 없는 것을 통감했으므로, 지적 있으면 꼭 받을 수 있으면이라고 생각합니다.
Reference
이 문제에 관하여(Git에 커밋되면 Jenkins의 Job이 움직이는 것을 시도하십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/moukuto/items/9dc4857f2a3f8b777d14
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Job이 가동되는 것을 확인했으므로, 실제로 커밋해 보아 pull 되는지를 확인한다
・사전 확인
· 커밋
[root@git local]# pwd
/root/local
[root@git local]# touch test3.txt
[root@git local]# git add .
[root@git local]# git commit -m "Job test"
[master 216860f] Job test
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 test3.txt
· 결과 확인
단단히 pull되었습니다!
사이고에게
이번에, Git와 Jenkins 모두 처음 만져서, 어느 쪽도 이해할 수 없는 것을 통감했으므로, 지적 있으면 꼭 받을 수 있으면이라고 생각합니다.
Reference
이 문제에 관하여(Git에 커밋되면 Jenkins의 Job이 움직이는 것을 시도하십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/moukuto/items/9dc4857f2a3f8b777d14
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Git에 커밋되면 Jenkins의 Job이 움직이는 것을 시도하십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/moukuto/items/9dc4857f2a3f8b777d14텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)