(간단한 프로젝트를 젠킨스를 통해 빌드하고 브랜치 분리처리를 목표로 합니다.)
1. 글로벌 환경설정
1.1 프로젝트 설정을 위한 깃허브 토큰 생성



** 토큰 생성 시 생기는 key / value값은 반드시 어디서 보관할것
1.2 젠킨스 글로벌 설정


* 하단에 깃허브 서버 추가

- name : 아무거나 작성
- Credentials 에 add 버튼 클릭

- 1. 아까 생성한 깃허브 토큰 적용
- 2. 지금 만들 Credentials 이름 작성 후 add
- 3. 위 화면 우측 하단 Test connection 클릭 후 저장

1.3 운영서버 - 젠킨스 서버 ssh 접근 허용
* 지금까지 세팅한 서버를 젠킨스 서버
* 실제 소스코드가 배포될 서버를 운영서버라고 지칭하고 처리
1.3.1 젠킨스 서버 설정
- 플러그인 publish over ssh 다운

- ssh-keygen -t rsa -f ~/.ssh/id_rsa (키 생성)
- vi ~/.ssh/id_rsa (생성된 키 확인)

- 비밀키를 RSA로 재암호화 (ssh-keygen -m pem -f ./id_rsa) + 확인 -> vi ~/.ssh/id_rsa.pub. (젠킨스서버)
- 재암호화된 값을 배포서버에 추가 vi ~/.ssh/id_rsa.pub + 위 키값 붙이고 저장 (배포 서버)
1.3.2 publish over ssh 설정
- passphrase 설정
- 위 암호 key에 삽입 후 저장

1.3.3 운영 서버 연결 설정
- 정보 기입 후 저장

1.3.3 젠킨스 서버에서 운영서버로 연결 확인
ssh -i TEST_SERVER ubuntu@122.173.22.15 + 위 passPhrase입력 후 접속
이것까지 성공했다면 어려운건 다끝났다.
2. 젠킨스 아이템 생성

스크립트 입력을 통한 파이프라인으로 배포를 할 예정이라 파이프라인 선택

반영할 깃허브 소스 입력

웹훅 설정 체크

빌드 스크립트 작성

```
pipeline {
agent any
stages {
stage('Prepare') {
steps {
echo '=== Prepare ==='
git branch: 'chhong',url: 'https://github.com/pnci1029/JenkinsTest'
}
}
stage('Build') {
steps {
echo '=== Build ==='
sh '''
chmod +x gradlew
./gradlew clean build
'''
}
}
stage('Deploy') {
steps {
echo '=== Deploy ==='
sshPublisher(publishers: [
sshPublisherDesc(configName: 'TEST_SERVER', transfers: [
sshTransfer(cleanRemote: false, excludes: '', execCommand: 'sh init.sh', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: 'deploy/', remoteDirectorySDF: false, removePrefix: 'build/libs', sourceFiles: 'build/libs/*.jar')
], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: true)
])
}
}
}
}
```

빌드 스크립트 작성
추가 예쩡...
브랜치 분리
추가 예정...
- 일단 끝-
reference by
(https://dev-gorany.tistory.com/345)
(https://galid1.tistory.com/466?category=772172)
(https://information-security-vlog.tistory.com/23)
(https://learnote-dev.com/java/Spring-%EC%A0%A0%ED%82%A8%EC%8A%A4-%EB%B0%B0%ED%8F%AC/)
'공부 > 인프라' 카테고리의 다른 글
| ModSecurity 도입기 2(Trouble Shooting) (2) | 2025.08.06 |
|---|---|
| ModSecurity 도입기 (5) | 2025.08.02 |
| 백지에서 따라가며 배우는 젠킨스 & EC2 (3) (0) | 2024.01.14 |
| 백지에서 따라가며 배우는 젠킨스 & EC2 (2) (0) | 2024.01.14 |
| 백지에서 따라가며 배우는 젠킨스 & EC2 (1) (0) | 2024.01.14 |