Jenkins
ํ์ฌ ๊ฒ์ ์คํ์ ๋๋นํด์ ์๋ฒ ๊ฐ์๋ฅผ ๋๋ฆฌ๊ธฐ๋ก ํจ.
๊ธฐ์กด ์๋ฒ 8๋(ํ๋ก ํธ, ๋ฐฑ์๋) โ 20๋๋ก ์ฆ์ค
์ ํจ์ค๋ก ์ฌ๋ฌ ์๋ฒ ๋น๋ ํ ๋ ๋์์ ๋น๋๋ฅผ ํ๋ฉด ์ ํจ์ค ์๋ฒ์ CPU ๊ฐ 98% ๊น์ง ํ์ด์ ์ ํจ์ค๊ฐ ๋ฉ์ถ๋ ์ํฉ + ์์์๊ฐ์ด ๋ ์ค๋ ๊ฑธ๋ฆฌ๋ ๊ฒ ํ์ธ์ด ๋์์.
PIPELINE ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ Script ์์ฑ ํ ๋์์ ์ฌ๋ฌ ๋๋ฅผ ๋ฌถ์ด์ ๋น๋ ํ๋ ๊ฒ์ด ๊ฐ๋ฅ
ํ์ดํ๋ผ์ธ ๊ตฌ์ถ ์

ํ์ดํ๋ผ์ธ ๊ตฌ์ถ ์ 1๋์ ์๋ฒ ๋น 6 ~ 9๋ถ ์ ๋์ ์๊ฐ์ด ๊ฑธ๋ฆผ
์ฒซ ๋น๋์ ๊ฒฝ์ฐ์๋ 1๋์ ์๋ฒ๋น ์๊ฐ์ด 20๋ถ ์ ๋๋ก ๋์ด๋จ.
ํ์ดํ ๋ผ์ธ ๊ตฌ์ถ ํ

ํ์ดํ๋ผ์ธ ๊ตฌ์ถ ํ 4๋์ ์๋ฒ ๋ฐฐํฌ ์ 11๋ถ์ ์์ ์๊ฐ์ด ๊ฑธ๋ฆผ
์ฒซ ๋น๋์ ๊ฒฝ์ฐ 20๋ถ ์์ ์๊ฐ์ด ๊ฑธ๋ฆผ.
๋ฐฉ์์ ๋ฌธ์
๊ธฐ์กด
๊ฐ ์๋ฒ๋ง๋ค ํ๋ ์ฉ ์ ํจ์ค ํ๋ก์ ํธ๋ฅผ ๋๋ฆผ
ํ๋์ฉ ์ฌ๋ผ๊ฐ ๋๋ง๋ค tail ๋ช ๋ น์ด๋ก ์ ์ฌ๋ผ๊ฐ๋์ง ํ์ธ
์ค์นด์ฐํฐ๊ฐ ๋ถ๋์ง ํ์ธ ํ ๋ค์ ํ๋ก์ ํธ ์คํ
ํ์ดํ๋ผ์ธ ์ค์ ํ
build ํ๋ฒ ํด๋ฆญ ํ 11๋ถ ์ ๋ ๋๊ธฐ โ ๋
๊ธฐ์กด ๋ฐฉ์์ ํ๋ํ๋ build ๋ war ํ์ผ์ ์๋ฒ๋ก ์ฎ๊ฒจ์ ๋ฐฐํฌ ์คํฌ๋ฆฝํธ๋ฅผ ์คํ ์ํค๋ ๋ฐฉ์์ผ๋ก ํด์ ๋ฐฐํฌ ํ ๋ ๋น๋๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆผ.
ํ์ดํ๋ผ์ธ ๋ฐฉ์์ ํ๋์ ํ๋ก์ ํธ๋ง ๋น๋ ํ send build file ๊ธฐ๋ฅ์ผ๋ก ๊ฐ ์๋ฒ๋ก war ํ์ผ์ ์ ์ก ํ ์คํฌ๋ฆฝํธ๋ง ์คํ. ์ด๊ธฐ ๋น๋๋ง ์๋๋ฉด ๊ฐ ์๋ฒ๋น ํฐ์บฃ ์ฌ๋ผ๊ฐ๋ ์๊ฐ 3๋ถ ์์(sleep ์ผ๋ก ๋๊ธฐํ๋ ์๊ฐ ํฌํจ)
PIPELINE ์์ดํ
์์ฑ ๋ฐฉ๋ฒ
Jenkins ์์ ์๋ก์ด Item ํด๋ฆญ

PIPELINE ํด๋ฆญ

PIPELINE ์คํฌ๋ฆฝํธ ์์ฑ
pipeline{
agent any
options {
timeout(time: 1, unit: 'HOURS') # tail ๊ฑธ๋ฉด time out์ด ๋๋ฏ๋ก pipeline์ด ์ ์ฒด ์๊ฐ ์ผ๋ง์ ๋ ๊ฑธ๋ฆฌ๋์ง ํ์ธ ํ ์ค์
}
stages{
stage('build_war_all'){ # ๋ฐฑ์๋ ์ ์ฒด ์๋ฒ์ war ํ์ผ ์ ์กํ๋ ํ๋ก์ ํธ(item) ๋น๋ ์คํ
steps{
build 'project name' # ์ด๋ ๊ฒ ํ๋ฉด ์์ฑ ๋ ์๋ ํ๋ก์ ํธ ๊ฐ ์คํ
}
}
stage('ssh_1') { # ssh ์๋ฒ์์ command ์คํ ์ํค๋ stage ์๋ฒ ip ๋ณ๋ก stage ๋ถ๋ฆฌ , ์ด 20๊ฐ
steps([$class: 'BapSshPromotionPublisherPlugin']) {
sshPublisher(
continueOnError: false, failOnError: true,
publishers: [
sshPublisherDesc(
configName: "project name 1",//Jenkins ์์คํ
์ ๋ณด์ ์ฌ์ ์
๋ ฅํ ์๋ฒ ID
verbose: true,
transfers: [
sshTransfer(
execCommand: "echo <server password> | sudo -S ~/release_shell.sh" # ์๊ฒฉ์ง์์ ์คํํ ์ปค๋งจ๋
)
]
)
]
)
sleep(time:180,unit:"SECONDS") # stage ๊ฐ sleep ํ๋ ์๊ฐ
}
}
... # ๋น๋ ๋๋ฆฌ๊ณ ์ถ์ ํ๋ก์ ํธ ๊ฐ์๋งํผ stage ์์ฑํ๋ฉด ๋จ.
}
}
PIPELINE ๋น๋๊ฐ ์ค๊ฐ์ ์คํจํด์ ์ ์ง๋์์ ๊ฒฝ์ฐ



์คํ ์ด์ง ์ ํ ํ run ํ๋ฉด ์ ํํ stage ๋ถํฐ ๋ค์ ์์ฐจ์ ์ผ๋ก build ์คํํจ.
JENKINS ์ต์ ๋ฒ์ ์์์ PIPELINE
Publish Over SSH ๊ฐ ์ต์ ๋ฒ์ ์์๋ ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅ...!
๋ ์ด์ ์๊ฒฉ ๋ฐฐํฌ๊ฐ ์๋ ๋ฏ ๋ณด์์ผ๋ SSH2 Easy ํ๋ฌ๊ทธ์ธ์ผ๋ก ํด๊ฒฐํ ์ ์๋ค.

์ด๋ฐ์์ผ๋ก ๋น๋ ์๋ฃ๋ ํ์ผ์ ๊ฐ ์๋ฒ๋ก SFTP ์๊ฒฉ ์ ๋ก๋ ํ ์ ์๋ ํ๋ฌ๊ทธ์ธ์ด ์์ด์ ๊ฐ๋ฅ
Last updated
Was this helpful?