egovFramework
Git Bash Here
git pull origin main
실행 후, 현재 브랜치가 master로 되어있으면 git checkout main
실행git config --global user.name "[Github 이름]"
git config --global user.email [Github 이메일]
git init
git remote add origin [Repository 주소]
git pull origin main
git checkout main
git add *
# 삭제한 파일 반영 시, git add –u
git commit -m "[커밋 메세지]"
git push -u origin main
git checkout main
실행 시 아래 오류 발생하는 경우, 폴더 내 README.md
파일 삭제 후 재시도sources.list.d
에 jenkins.list
추가 egov@egov-server:/$ sudo apt-get update
egov@egov-server:/$ sudo apt-get upgrade
egov@egov-server:/$ wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
egov@egov-server:/$ echo deb http://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list
egov@egov-server:/$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FCEF32E745F2C3D5
egov@egov-server:/$ sudo apt-get update
egov@egov-server:/$ sudo apt-get upgrade
egov@egov-server:/etc/apt/sources.list.d$ cd /etc/apt/sources.list.d/
egov@egov-server:/etc/apt/sources.list.d$ vi jenkins.list
egov@egov-server:/$ sudo apt-get install jenkins
egov@egov-server:/$ sudo vi /etc/default/jenkins
egov@egov-server:/$ sudo vi /etc/init.d/jenkins
# /usr/lib/systemd/system/jenkins.service 가 가장 우선되는 설정이므로 변경해주어야 함
egov@egov-server:/$ sudo vi /usr/lib/systemd/system/jenkins.service
# .service 파일 변경 내용을 재등록하기 위함
egov@egov-server:/$ sudo systemctl daemon-reload
egov@egov-server:/$ sudo service jenkins restart
egov@egov-server:/$ sudo systemctl status jenkins
egovSample04
Jenkins 비밀번호 : a8f841001ac449139f02b1fe9f7c194c
egov@egov-server:/$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
E: Package 'jenkins' has no installation candidate
: 아래 명령어 입력 후 다시 installegov@egov-server:/$ sudo apt-get update
egov@egov-server:/$ sudo apt-get upgrade
egov@egov-server:/$ sudo service jenkins restart
egov@egov-server:/$ sudo systemctl status jenkins
sudo ufw status
결과, Status가 inactive
로 나오거나 8090 포트가 없을 경우)egov@egov-server:/$ sudo ufw status
egov@egov-server:/$ sudo ufw enable
egov@egov-server:/$ sudo ufw allow 8090
egov@egov-server:/$ vi /etc/default/jenkins
egov@egov-server:/$ tail –f /var/log/jenkins/jenkins.log
egov@egov-server:/$ sudo service jenkins start
egov@egov-server:/$ sudo service jenkins stop
Install suggested plugins
선택하여 설치Save and Finish
> Start using Jenkins
Global Tool Configuration
> JDK와 Maven 설정JAVA_HOME
값은 /usr/lib/jvm/java-11-openjdk-amd64
Add Maven
> MAVEN_HOME
값은 /usr/share/maven
ssh-keygen
을 통해 rsa 타입, 4096 비트의 key 생성egov@egov-server:~$ sudo ssh-keygen –t rsa –b 4096
id_rsa
, id_rsa.pub
가 생성됨Enter file in which to save the key
: 키 생성 위치 지정 (엔터만 입력 시 기본 위치인 ~/.ssh에 생성됨)Enter passphrase
: 키에 접근할 때마다 암호를 요구하려면 입력 후 엔터 (엔터만 입력 시 암호 요구하지 않도록 함)id_rsa
의 key 출력하여 복사egov@egov-server:/$ cd /home/egov/.ssh
egov@egov-server:~/.ssh$ cat /home/egov/.ssh/id_rsa
Manage Credentials
> Jenkins
> Global credentials (unrestricted)
SSH Username with private key
Global (Jenkins, nodes, items, all child items, etc)
Enter directly
선택 후 복사했던 key 값 입력Settings
> Deploy keys
> Add deploy key
id_rsa.pub
key 출력하여 복사egov@egov-server:/$ cd /home/egov/.ssh
egov@egov-server:~/.ssh$ cat /home/egov/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDB8wHD5hmDMGHu8wme29upL7RsAO3A7Xzl3SKo4cyZubaeUd50gzt60HYhyoXz399MxUr56DaWU4cc2TzauNtqnqhaO+g6e0yyC5iQSNOg8N8pY238SepyRF7fmPNuiyG01yDSKfm4JZJKhBojGR1xoXGvnOj46plDKHsDebTo5RQg6y+3H0lKc+AnZcIHGfDkpFGJwHWSQIZlLyu+NRoNl1Zp5N/4C0xsI0ljqQxeuPvrFTA6twf2NQPjsqog4hc6enn9k6SDUJJ/RpgebHAyCwFx/xGub4esLFsfIHUpnsel+hkdTVjq4tFRH+lbSoJBCw5YTjjVZ+GhOyVhBzaYId2poBiQKAz/PfedeUjBGAtxF0ahH4tgj04XW2Gnk+8aKJD+Ne0Ey+iJPHZDg0GuL+w5pgidZlD1UUSHVomhJX56PzAmf3xUz4kT8wuJrEZStIvtH78/wwBV3K2hOMeKIv9JBiTsW3EVkjIHDEuI/s3xCU4qgpODOG38E/ho0+chJenhzev+sj0kybFxoRgQ+IIKiqtFwKF0atHXDkeiCt/wxPhUo/5X90mYUE9F3Ys0GyLWkxFPVPw17hSE8asz4LjY6iNcPUhL03q8a3yF7B/OIDL5XzJuLx/8n7S2mwLvSI7Jj/05/RzLdbT3agtwmSSBJKS2Gn6/g16gIw2ygQ== egov@egov-server
Add key
Settings
> Webhooks
> Add webhook
Add webhook
http://[JENKINS URL]:[PORT]/github-webhook/
Freestyle project
선택 > OKgovSample01
https://github.com/ynjch97/egovFramework.git
Github
GitHub hook trigger for GITScm polling
선택 (Github에 push 이벤트가 오면 자동 실행되도록 함)Add build step
> Invoke top-level Maven targets
mvn-3.6.3
clean package
egovSample01
빌드 테스트index.jsp
소스 수정하여 Github에 Commit<p>Jenkins 빌드 테스트</p>
코드가 없는 상태egov@egov-server:/$ cd /home/egov/tomcat/tomcat-9.0/webapps/sample
egov@egov-server:~/tomcat/tomcat-9.0/webapps/sample$ vi index.jsp
[TODO] 7-1번까지 내용 수행 후 할 일
- 현재 프로젝트 소스 저장 경로 : /var/lib/jenkins/workspace/egovSample01
- 기존 설정했던 sample 폴더 경로로 세팅될 수 있도록 변경
- Jenkins 빌드 > 프로젝트 소스가 정상 반영되는 것 확인 및 Tomcat 구동하여 index.jsp 내용 수정된 것 확인
- 참고 : https://more-learn.tistory.com/19
https://velog.io/@suhongkim98/jenkins-%EC%9B%B9%ED%9B%85-%EC%84%A4%EC%A0%95%ED%95%B4%EC%84%9C-CI-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0