๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐ•์˜ ์ •๋ฆฌ/CLASS101 ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ ์‹ค๋ฌด

Chapter2 - CPU Bound ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(Jenkins ๋ฐฐํฌ)

by ์ฃผ๋ฐœ2 2021. 2. 26.
๋ฐ˜์‘ํ˜•

 ์•ˆ๋…•ํ•˜์„ธ์š”~ ์ด์ „์— ์šด์˜ํ•˜๋˜ ๋ธ”๋กœ๊ทธ ๋ฐ GitHub, ๊ณต๋ถ€ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๋Š” Study-GitHub ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค!

 ๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ

 GitHub

Study-GitHub

 ๐Ÿ”


โœ” CLASS101 ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ ์‹ค๋ฌด - Chapter2 CPU Bound ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

์•ˆ๋…•ํ•˜์„ธ์š”, ํด๋ž˜์Šค101 ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ ์‹ค๋ฌด ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ , ๋ณต์Šต ์ฐจ์›์œผ๋กœ ์ •๋ฆฌํ•˜์—ฌ ๋‚จ๊ธฐ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค!

ํ˜น์‹œ ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค๋ฉด ๊ธ€์„ ์‚ญ์ œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค !!

 

class101.net/products/5fc4a3b4fc231b000d85661b

 

ํ˜„์ง ๋Œ€๊ธฐ์—… ๊ฐœ๋ฐœ์ž ํ‘ธ์™€ ํ•จ๊ป˜ํ•˜๋Š” ์ง„์งœ ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ ์‹ค๋ฌด!

IT ๋Œ€๊ธฐ์—…๋“ค์˜ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ๊ณต๊ณ ๋ฅผ ๋ณธ ์  ์žˆ๋‚˜์š”? ๐Ÿ“์œ„ ๋ฐ‘์ค„ ์นœ ๋ถ€๋ถ„์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋„๋ก ์ปค๋ฆฌํ˜๋Ÿผ์„ ๊ตฌ์„ฑํ–ˆ์–ด์š”. ๊ฒ‰๋ณด๊ธฐ์—” ์–ด๋ ค์›Œ ๋ณด์ด์ง€๋งŒ, ๊ฒฐ๊ตญ ๋ฐฐ์šฐ๊ณ  ๋‚˜๋ฉด ๋‚˜๋„ ์ €๋Ÿฐ ๊ณณ์—์„œ ์ผํ•  ์ˆ˜ ์žˆ

class101.net


 

 

โœ” Jenkins๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐฐํฌํ•˜๊ธฐ

Build & Deploy

Batch

• GCP ์ธ์Šคํ„ด์Šค๋Š” Jenkins์šฉ ์ธ์Šคํ„ด์Šค ํ•œ ๊ฐœ์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰์šฉ ์ธ์Šคํ„ด์Šค ํ•œ ๊ฐœ, ์ด ๋‘ ๊ฐœ์˜ ์ธ์Šคํ„ด์Šค๋กœ ๊ตฌ์„ฑ

 

 

 

 

 

๐ŸŽ— GCP ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ

Jenkins์šฉ GCP ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

    ์ด๋ฆ„ & ๋ฆฌ์ „(์„œ์šธ) & ๋จธ์‹  ์œ ํ˜•(e2-micro) & ๋ถ€ํŒ… ๋””์Šคํฌ(CentOS 7) & ๋ฐฉํ™”๋ฒฝ ํ—ˆ์šฉ ์„ ์„ค์ •ํ•˜๊ณ  ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

 

application์šฉ GCP ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

     ์ด๋ฆ„ & ๋ฆฌ์ „(์„œ์šธ) & ๋จธ์‹  ์œ ํ˜•(e2-micro) & ๋ถ€ํŒ… ๋””์Šคํฌ(CentOS 7) & ๋ฐฉํ™”๋ฒฝ ํ—ˆ์šฉ ์„ ์„ค์ •ํ•˜๊ณ  ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

๐ŸŽ— GCP ์ธ์Šคํ„ด์Šค์— Jenkins ์„ค์น˜ํ•˜๊ธฐ

wget ์„ค์น˜

    • sudo yum install wget

 

• Maven ์„ค์น˜

    • sudo yum install maven

 

• git ์„ค์น˜

    • sudo yum install git

 

• docker ์„ค์น˜

    • sudo yum install docker

 

• Jenkins ์„ค์น˜ & ๋ฐ๋ชฌ ์‹คํ–‰

    • sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

    • sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key 

    • sudo yum install jenkins 

    • sudo systemctl start jenkins   (jenkins ๋ฐ๋ชฌ ์‹คํ–‰)

    • sudo systemctl status jenkins (jenkins ์‹คํ–‰ ์ƒํƒœ ์—ฌ๋ถ€ ํ™•์ธ)

 

 

 

 

๐ŸŽ— GCP ๋ฐฉํ™”๋ฒฝ 8080 ํฌํŠธ ์—ด๊ธฐ

Jenkins๋Š” 8080ํฌํŠธ๋กœ ๋– ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, 8080 ํฌํŠธ๋ฅผ ์—ด์–ด์ค๋‹ˆ๋‹ค.

GCP ์ธ์Šคํ„ด์Šค์—์„œ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ์„ค์ • ํด๋ฆญ

 

 

 

๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ๋งŒ๋“ค๊ธฐ ํด๋ฆญ

 

 

 

์œ„์™€ ๊ฐ™์ด ์ด๋ฆ„, ๋Œ€์ƒ, ์†Œ์Šค IP ๋ฒ”์œ„, ํ”„ํ† ํ† ์ฝœ ๋ฐ ํฌํŠธ ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ๋งŒ๋“ค๊ธฐ๋ฅผ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.

0.0.0.0/0 ==> ๋ชจ๋“  IP ๋Œ€์ƒ

 

 

 

 

๐ŸŽ— Jenkins ์ ‘์† & ์„ค์ •

์ธ์Šคํ„ด์Šค์˜ ์™ธ๋ถ€IP:8080 ์œผ๋กœ ์ ‘์†ํ•˜๋ฉด, ์œ„์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.

์œ„ ํ™”๋ฉด์—์„œ ๊ด€๋ฆฌ์ž ํŒจ์Šค์›Œ๋“œ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๋ถ€๋ถ„์ด ์žˆ๋Š”๋ฐ, ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํ™•์ธํ•˜๊ณ  ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

 

 

$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword

 

 

 

 

๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๋‹ค์Œ์œผ๋กœ ๋„˜์–ด์˜ค๋ฉด, ์œ„ ํ™”๋ฉด์ด ๋‚˜์˜ค๋Š”๋ฐ์š”

์ขŒ์ธก์€ ์ถ”์ฒœ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด๊ณ , ์šฐ์ธก์€ ์„ ํƒ๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ๋งŒ ์„ค์น˜ํ•˜๋Š” ๋ฒ„ํŠผ์ž…๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ๋Š” ์ขŒ์ธก Install suggested plugins ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋ชจ๋‘ ์„ค์น˜ํ•œ ๋’ค ๊ณ„์ •์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

Jenkins URL์—๋Š” ํ˜„์žฌ ์ ‘์†ํ•œ URL์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

์œ„ ํ™”๋ฉด์—์„œ Start using Jenkins๋ฅผ ํด๋ฆญํ•˜๋ฉด Jenkins ์„ค์ •์€ ๋ชจ๋‘ ๋๋‚˜๊ฒŒ๋ฉ๋‹ˆ๋‹ค.

 

 

 

 

์œ„์™€ ๊ฐ™์€ ์ดˆ๊ธฐ ํ™”๋ฉด์ด ๋‚˜์˜ค๋ฉด ์ •์ƒ์ ์œผ๋กœ Jenkins๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

 

 

 

 

 

 

์ขŒ์ธก Jenkins ๊ด€๋ฆฌ > ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ด€๋ฆฌ > ์„ค์น˜ ๊ฐ€๋Šฅ > SSH ์ž…๋ ฅ > Publish Over SSH ํด๋ฆญ > ์žฌ์‹œ์ž‘ ์—†์ด ์„ค์น˜ํ•˜๊ธฐ

 

 

 

 

 

Publish Over SSH ์ •์ƒ์ ์œผ๋กœ ์„ค์น˜๋œ ํ™”๋ฉด -> ๋ฉ”์ธ ํŽ˜์ด์ง€๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค.

 

 

 

• ๋Œ€์นญํ‚ค, ๋น„๋Œ€์นญํ‚ค

๋”๋ณด๊ธฐ

 ๋Œ€์นญํ‚ค

     ์•”ํ˜ธํ™”์— ์‚ฌ์šฉํ•˜๋Š” ํ‚ค์™€ ๋ณตํ˜ธํ™”์— ์‚ฌ์šฉํ•˜๋Š” ํ‚ค๊ฐ€ ๋™์ผํ•œ ๊ฒƒ

 

 ๋น„๋Œ€์นญํ‚ค

     ์•”ํ˜ธํ™”์— ์‚ฌ์šฉํ•˜๋Š” ํ‚ค์™€ ๋ณตํ˜ธํ™”์— ์‚ฌ์šฉํ•˜๋Š” ํ‚ค๊ฐ€ ๋‹ค๋ฅธ ๊ฒƒ

๋น„๋Œ€์นญํ‚ค์˜ ์•”ํ˜ธํ™”, ๋ณตํ˜ธํ™”์— ์‚ฌ์šฉ๋˜๋Š” ํ‚ค๋Š” ๋ถ„๋ช… '๋‹ค๋ฅธ ๊ฐ’' ์ด์ง€๋งŒ ์—ฐ๊ด€๋˜์–ด ์žˆ๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค.

 

๋Œ€์นญํ‚ค, ๋น„๋Œ€์นญํ‚ค ์ฐธ๊ณ 

 

๐ŸŽ— Jenkins ๊ณต๊ฐœํ‚ค ์„ค์ •

$ ssh-keygen -t rsa -f ~/.ssh/id_rsa

์œ„ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๊ณต๊ฐœํ‚ค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

(์ค‘๊ฐ„์— ์—”ํ„ฐ ํ‚ค๋ฅผ ํ•œ๋ฒˆ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.)

 

 

ํ•ด๋‹น ํŒŒ์ผ์€ /home/zzang9haha/.ssh ํŒŒ์ผ์— ์ €์žฅ์ด ์ƒ์„ฑ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

     id_rsa => ๊ฐœ์ธํ‚ค

     id_rsa.pub => ๊ณต๊ฐœํ‚ค

 

 

 

 

$ vi id_rsa.pub

application์šฉ GCP ์ธ์Šคํ„ด์Šค์— ๋“ฑ๋กํ•˜๊ธฐ ์œ„ํ•ด ์œ„ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๊ณต๊ฐœํ‚ค๋ฅผ ํ™•์ธํ•˜๊ณ  ๋ณต์‚ฌ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ ํ›„ application GCP ์ธ์Šคํ„ด์Šค SSH๋กœ ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค.

 

 

๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์„ค์ • ํŒŒ์ผ๋กœ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.

$ vi -/.ssh/authorized_keys

 

 

 

 

์œ„์—์„œ ๋ณต์‚ฌํ•œ id_rsa.pub ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•ฉ๋‹ˆ๋‹ค.

(๊ฐ„ํ˜น ์—”ํ„ฐํ‚ค๋„ ๊ฐ™์ด ๋ณต์‚ฌ๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์–ด์„œ, ์œ„์™€ ๊ฐ™์ด ๋ถ™์—ฌ๋„ฃ๊ธฐ๊ฐ€ ์ž˜ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.)

(esc => :(์ฝœ๋ก ) => wq ์ž…๋ ฅ ํ›„ ์—”ํ„ฐ ์น˜๋ฉด ์ €์žฅ๋˜๊ณ  vi ์—๋””ํ„ฐ๋ชจ๋“œ๋ฅผ ๋‚˜๊ฐ€๋Š” ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค.)

 

 

 

โ€ป GCP์—์„œ ๋”ฐ๋กœ Jenkins์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ๋“ฑ๋กํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

GCP ์ธ์Šคํ„ด์Šค > ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ > SSHํ‚ค > ์ˆ˜์ •

์œ„๋กœ ๋“ค์–ด๊ฐ€์„œ ๊ณต๊ฐœํ‚ค๋ฅผ ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

 

 

 

์œ„ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋””๋ ‰ํ† ๋ฆฌ์™€ ํŒŒ์ผ์˜ ๊ถŒํ•œ์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

Jenkins ์‚ฌ์ดํŠธ์—์„œ Jenkins ๊ด€๋ฆฌ > ์‹œ์Šคํ…œ ์„ค์ •์—์„œ SSH key๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

(jenkins GCP ์ธ์Šคํ„ด์Šค์—์„œ id_rsa ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ๋ณต์‚ฌํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.)

 

 

 

 

 

๋ฐ”๋กœ ์•„๋ž˜ ๋ถ€๋ถ„์— SSH Servers๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    • Name: GCP ์ธ์Šคํ„ด์Šค์˜ ์ด๋ฆ„

    • Hostname: GCP ์ธ์Šคํ„ด์Šค์˜ ๋‚ด๋ถ€ IP

    • Username: GCP ์ธ์Šคํ„ด์Šค์—์„œ SSH์— ์ ‘์†ํ–ˆ์„ ๋•Œ ๋‚˜์˜ค๋Š” ๊ณ„์ •

    • Remote Directory: GCP์—์„œ hoem ๋””๋ ‰ํ† ๋ฆฌ์˜ ๊ฒฝ๋กœ(cd ~)

 

 

 

 

์œ„ Test Configuration ์„ ๋ˆŒ๋Ÿฌ Success ๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ๋œจ๋ฉด ์ €์žฅ์„ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค.

 

 

 

 

 

 

๐ŸŽ— Jenkins์— ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Jenkins์—์„œ ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ๋Š” Item์ด๋ผ๋Š” ๋‹จ์–ด๋กœ ๊ด€๋ฆฌ๊ฐ€ ๋˜๋Š”๋ฐ, ์ƒˆ๋กœ์šด Item์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

item name์„ ์„ค์ •ํ•˜๊ณ , Freestyle project ํด๋ฆญ ํ›„ OK ๋ฒ„ํŠผ์„ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.

 

 

 

 

๋‹ค์Œ ํ™”๋ฉด์—์„œ ๋‹ค๋ฅธ ๋ถ€๋ถ„์€ ์†๋Œ€์ง€๋ง๊ณ , ๋นŒ๋“œ ํ›„ ์กฐ์น˜์—์„œ Send build artifacts over SSH ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

 

๊ณ ๊ธ‰ ํด๋ฆญ > Verbose output in console ์ฒดํฌ(๋กœ๊ทธ๋ฅผ ์ž์„ธํžˆ ์ถœ๋ ฅ) ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ ํ›„ Exec command ์—์„œ docker run ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

์ €์žฅ์ด ๋๋‚œ ํ›„ ์ขŒ์ธก์— Build Now๋ฅผ ํด๋ฆญํ•˜๋ฉด ์•„๋ž˜ #1 ์ด๋ผ๊ณ  ์ƒ์„ฑ๋œ๊ฑธ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

#1 ์„ ํด๋ฆญํ•˜๊ณ , Console Output์„ ํด๋ฆญํ•˜๋ฉด ์ฝ˜์†” ๋กœ๊ทธ๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ, ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰์ด ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

 

sudo: docker: command not found

sudo ๋ช…๋ น์–ด๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๋Š” ์—๋Ÿฌ์ž…๋‹ˆ๋‹ค.

 

 

 

ํ”„๋กœ์ ํŠธ ๋Œ์•„๊ฐ€๊ธฐ > ๊ตฌ์„ฑ ํด๋ฆญ ํ›„ Exec command ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

sudo ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ , ์ขŒ์ธก ํฌํŠธ(์™ธ๋ถ€)๋ฅผ 8080์œผ๋กœ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

๊ทธ ํ›„ ๋‹ค์‹œ Build Now๋ฅผ ํด๋ฆญํ•˜๋ฉด, #2๊ฐ€ ์ƒ์„ฑ๋˜๋Š”๋ฐ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•ด๋ด…๋‹ˆ๋‹ค.

 

 

 

 

docker๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๋Š” ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค.

Jenkins GCP์—๋Š” docker์„ ์„ค์น˜ํ–ˆ์œผ๋‚˜, application GCP์—๋Š” docker์„ ์„ค์น˜ํ•˜์ง€ ์•Š์•„์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค.

application GCP์—๋„ docker์„ ์„ค์น˜ํ•œ ํ›„ ๋ฐ๋ชฌ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

$ sudo yum install docker

$ sudo systemctl start docker

์œ„ ๊ณผ์ •์ด ๋๋‚˜๋ฉด Jenkins์—์„œ ๋‹ค์‹œ Build Now๋ฅผ ๋ˆ„๋ฅด๊ณ , ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•ด๋ด…๋‹ˆ๋‹ค.

 

 

 

 

 

์ด๋ฒˆ์—๋„ ๋นŒ๋“œ๊ฐ€ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ถŒํ•œ ๊ด€๋ จ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค.

ํ•ด๋‹น ํŒŒ์ผ์˜ ๊ถŒํ•œ์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

$ sudo chmod 666 /var/run/docker.sock

 

 

 

 

๋‹ค์‹œ Build Now๋ฅผ ํด๋ฆญํ•˜๊ณ  ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์œ„์™€ ๊ฐ™์ด ๋ชจ๋ž˜์‹œ๊ณ„๊ฐ€ ๋‚˜์˜ค๋ฉด์„œ, ์‹คํ–‰์ด ๋˜์ง€ ์•Š๋Š”๋ฐ์š”,,

์ด๋Š” ๋กœ๊ทธ๊ฐ€ ์ถœ๋ ฅ๋˜๋ฉด์„œ ๋ฐฐํฌ๊ฐ€ ๋๋‚œ ์ƒํƒœ๊ฐ€ ์•„๋‹ˆ๋ผ๊ณ  Jenkins๊ฐ€ ํŒ๋‹จํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

 

 

๋จผ์ € ์œ„ ์ž‘์—…์€ ์ข…๋ฃŒ๋ฅผ ํ•œ ๋’ค(X ๋ฒ„ํŠผ) ๊ตฌ์„ฑ์œผ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค.

 

 

 

 

์œ„์™€ ๊ฐ™์ด Exec command ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

    • nohup: ๋ช…๋ น์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰

    • > dev/null ~ : ํ‘œ์ค€ ์—๋Ÿฌ๋ฅผ ํ‘œ์ค€ ์ถœ๋ ฅ์œผ๋กœ Redirection

 

 

 

์ด๋ฒˆ์—” ๋…ธ๋ž€์ƒ‰ ๋ถˆ์ด ์•„๋‹Œ ํŒŒ๋ž€์ƒ‰ ๋ถˆ๋กœ ๋“ค์–ด์™”๋Š”๋ฐ, ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•ด๋ด…๋‹ˆ๋‹ค.

 

์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰์ด ๋œ ๊ฑธ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

 

๐ŸŽ— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰ ํ…Œ์ŠคํŠธ

๋งˆ์ง€๋ง‰์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰ ๋˜์—ˆ๋Š”์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์•„๋ž˜ URL๋กœ ์ ‘์†์„ ํ•ฉ๋‹ˆ๋‹ค.

    URL: ์™ธ๋ถ€ IP:8080/hash/123

 

๋“œ๋””์–ด, ์ •์ƒ์ ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹คํ–‰๋œ ๊ฑธ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค !! ๐Ÿ˜

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€