SFR-27 1. 플랫폼 감시 2. 플랫폼 제어 - ~~하부시스템에 대한 Start, Stop, Restart, Shutdown 동작~~ - 응용프로그램 설치 및 update 3. 플랫폼 관리 - 설치된 SW 버전 관리 - S/W 별 버전 정보 이력이 표시 된다. - 최신 SW 및 어플리케이션 관리 - ~~운영환경 관리 - 관리시스템 S/W #### Jenkins Book https://www.jenkins.io/doc/book/blueocean/ ###### Jenkins 사용 https://dev-overload.tistory.com/39 ###### Jenkins 설치 https://marindie.github.io/jenkins/Ubuntu-Jenkins-Install-KR-copy/#google_vignette https://server-engineer.tistory.com/763 https://ppoble.tistory.com/52#google_vignette https://hwannny.tistory.com/89 ###### Jenkins + Docker https://1minute-before6pm.tistory.com/49 ##### 특정 파일만 배포 https://hye0-log.tistory.com/42 https://velog.io/@ysy3285/GitLab-Jenkins-CICD-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B02 https://g4daclom.tistory.com/78 젠킨스 플러그인 사이트 : https://plugins.jenkins.io/ publish over ssh 대체 SSH Plugin : https://ktaes.tistory.com/100 ---- ##### Docker-compose ```bash # 인터넷 연결되는 환경에서 작업 # docker image, jenkins plugin 파일 다운받아야함. mkdir ./jenkins && cd jenkins mkdir ./jenkins_home nano docker-compose-jenkins.yml -------------------------------------------------------------------------------- version: '3.8' services: jenkins: image: jenkins/jenkins:lts container_name: jenkins user: root # environment: # - TZ=Asia/Seoul privileged: true ports: - 9900:8080 # - 9000:50000 volumes: - ./jenkins_home:/var/jenkins_home - /var/run/docker.sock:/var/run/docker.sock restart: unless-stopped -------------------------------------------------------------------------------- docker-compose build && docker-compose up -d # Jenkins Unlock Password 확인 (Unlock 이후 파일 삭제됨) cat ./jenkins_home/secrets/initialAdminPassword # jenkins 페이지 초기 설정 1. http://{hostname}:9900 접속하여 Unlock 2. 계정 생성 3. Jenkins URL 정보 확인 및 수정 Start using Jenkins 버튼 # Install Suggested plugins 선택하여 기본 plugin 설치 # 또는 Plugin 수동 설치 [Plugin 수동 설치] # 추가 플러그인 설치 > Jenkins 관리 -> Jenkins Global Tool Configuration publish over ssh maven jdk # publish over ssh 설정 # SSH key 발급 docker exec -it jenkins bash ssh-keygen cat /root/.ssh/id_rsa ------------------------------------------------------- #배포 대상 서버 설정 ## jenkins 서버에서 내용복사 cat /root/.ssh/id_rsa.pub ## 배포서버 root 로그인 ## 파일생성하고 복사한 내용 붙여넣기 nano /root/.ssh/authorized_keys ## 폴더, 파일 권한 변경 chmod 700 /root/.ssh chmod 644 /root/.ssh/authorized_keys --------------------------------------------------------- # Jenkins 페이지에서 배포서버 추가 Dashboard > Jenkins 관리 >System Publish over SSH > 추가 ``` https://velog.io/@wijoonwu/AWS-Jenkins-%EC%9E%90%EB%8F%99-%EB%B0%B0%ED%8F%AC ##### Plugin 수동 설치 ```bash cp -r jenkins_home/plugins/*.jpi jenkins_plugins/ ls | grep '.jpi' | cut -d . -f 1 | while read line; do mv $line.jpi $line.hpi; done tar -cvf plugins.tar ./jenkins_plugins # 수동설치 할 서버 tar -xvf plugins.tar -C /home/gmt/jenkins_home/plugins/ ``` ``` ```bash ssh-keygen cat /root/.ssh/id_rsa ``` ##### 기타 - CI(Continuous Integration) - CD(Continuous Delivery/Deployment) - Unity 연동 (https://github.com/KorStrix/Unity_JenkinsBuilder)