IT/DevOps

[DevOps] CentOS 8 JenKins ์„ค์น˜(feat. CI, CD)

์•Œ ์ˆ˜ ์—†๋Š” ์‚ฌ์šฉ์ž 2024. 5. 1.

๋ชฉ์ฐจ

    jenkins

    JenKins ์„ค์น˜๊ณผ์ •

    ๋‚ด ๊ฒฝ์šฐ๋Š” jdk๊ฐ€ ์ด๋ฏธ ์„ค์น˜๋˜์–ด ์žˆ์—ˆ๊ธฐ์— ๊ทธ ๋ถ€๋ถ„์€ ์ƒ๋žตํ–ˆ๋‹ค.

    #๊ณต๊ฐœํ‚ค ๊ฐ€์ ธ์˜จ๋‹ค.
    rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
    #์ €์žฅ์†Œ ํŒŒ์ผ ์„ค์น˜
    sudo wget -O /etc/yum.repos.d/jenkins.repo \
        https://pkg.jenkins.io/redhat-stable/jenkins.repo
    #jenkins ์„ค์น˜
    sudo yum install -y jenkins
    #์„œ๋น„์Šค ๋ฐ๋ชฌ ๋ฆฌ๋กœ๋“œ
    sudo systemctl daemon-reload
    #jenkins ์„œ๋น„์Šค ์‹œ์ž‘
    sudo systemctl start jenkins
    #์„œ๋น„์Šค์— jenkins ๋“ฑ๋ก(์„œ๋ฒ„ ๋ถ€ํŒ… ์‹œ ์ž๋™ jenkins ์‹œ์ž‘)
    sudo systemctl enable jenkins
    #jenkins ์„œ๋น„์Šค ์ƒํƒœ ์กฐํšŒ
    sudo systemctl status jenkins

    TroubleShooting

    journalctl -xe๋กœ ๋ด๋„ ์ž˜ ๋ชจ๋ฅด๊ฒ ์–ด์„œ ๊ตฌ๊ธ€๋ง ํ•ด์„œ ํ•ด๊ฒฐํ–ˆ๋‹ค.

    ๋‹คํ–‰ํžˆ ๋‚ด ๊ฒฝ์šฐ๋Š” jenkins์˜ JAVA_HOME์„ ๋ฐ”๋กœ ์žก์•„์คฌ๋”๋‹ˆ ํ•ด๊ฒฐ๋˜์—ˆ๋‹ค.

    jenkinis๊ฐ€ java๊ธฐ๋ฐ˜์œผ๋กœ ๊ธฐ๋™๋˜๋‹ˆ๊นŒ JAVA PATH๊ฐ€ ๋งž์ง€ ์•Š์œผ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚˜๋Š” ๋“ฏ ํ•˜๋‹ค.

    #jenkins ์„ค์ •ํŒŒ์ผ ์—ด๊ธฐ
    sudo vi /usr/lib/systemd/system/jenkins.service

    ์•„๋ž˜ ์‚ฌ์ง„์˜ 52๋ฒˆ ์งธ line์˜ Enviroment="JAVA_HOME"์„ ์ œ๋Œ€๋กœ ์žก์•„์คฌ๋‹ค.

    ๋˜ tomcat์ด ์„ค์น˜๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ 8080ํฌํŠธ๊ฐ€ ์ค‘๋ณต๋˜๊ธฐ์— jenkins์˜ ํฌํŠธ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ์œ„ ์Šค์ƒทํŒŒ์ผ์ธ

    jenkins.service์˜ ์•„๋ž˜๋ถ€๋ถ„์˜ ํฌํŠธ๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด ๋œ๋‹ค.

    ๊ทธ ํ›„ ๋‹ค์‹œ jenkins ์„œ๋น„์Šค๋ฅผ ์‹œ์ž‘ ํ›„ ์ƒํƒœ๋ฅผ ๋ณด๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ 8081 ํฌํŠธ๋กœ ์ •์ƒ์ ์œผ๋กœ running์ด ๋œ ๊ฑธ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

    jenkins ์ตœ์ดˆ์‹คํ–‰ ์‹œ root ์ž„์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์Šค์ƒท์ฒ˜๋Ÿผ ๋กœ๊ทธ์— ํ‘œ์ถœ๋˜๋Š”๋ฐ ์ด๋ฅผ ์ด์šฉํ•ด์„œ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋กœ๊ทธ์ธ ํ•œ๋‹ค.

    ๊ทธ ํ›„ ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ๊ถŒ์žฅ ํ”Œ๋Ÿฌ๊ทธ์ธ์œผ๋กœ ์„ค์น˜ํ–ˆ๋‹ค.(์ด๊ฑด ๊ฐœ์ธ ์ทจํ–ฅ์ด๋‹ค.)

    ๊ทธ ํ›„ ๊ด€๋ฆฌ์ž ๊ณ„์ •์„ ์ƒ์„ฑํ•œ๋‹ค.

    ๊ทธ๋Ÿฌ๋ฉด ์ ‘์† url์ด ํ‘œ์ถœ๋˜๊ณ  ์ด ์ฃผ์†Œ๋กœ ์ ‘์†ํ•˜๋ฉด ๋œ๋‹ค.

    Start using JenKins๋ฅผ ๋ˆ„๋ฅธ๋‹ค.

    ๊ทธ ํ›„ ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ํ‘œ์ถœ๋˜๊ณ  ์ƒ์„ฑํ•œ ๊ด€๋ฆฌ์ž ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ•œ๋‹ค.

    reference: https://www.jenkins.io/doc/book/installing/linux/#red-hat-centos

     

    Linux

    Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software

    www.jenkins.io


    ๊ฐœ์ธ ์Šคํ„ฐ๋”” ๊ธฐ๋ก์„ ๋ฉ”๋ชจํ•˜๋Š” ๊ณต๊ฐ„์ด๋ผ ํ‹€๋ฆฐ์ ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ํ‹€๋ฆฐ ์  ์žˆ์„ ๊ฒฝ์šฐ ๋Œ“๊ธ€ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

     

    [DevOps] CentOS 8 GitLab ์„ค์น˜

    ๋ชฉ์ฐจGitLab ์„ค์น˜๊ณผ์ •#GitLab์˜ CentOS์šฉ RPM ์ €์žฅ์†Œ ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•œ ์Šคํฌ๋ฆฝํŠธ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์‹คํ–‰curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash#gitlab ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฒ„์ „ ์„ค์น˜sudo yum

    yaga.tistory.com

     

    [DevOps] CentOS7 ์„ค์น˜๋ถ€ํ„ฐ jdk, mysql, tomcat ์—ฐ๋™๊นŒ์ง€ ๊ณผ์ •

    ๋ชฉ์ฐจCentOS7 ์„ค์น˜๋ถ€ํ„ฐ jdk, mysql, tomcat ์„ค์น˜ ๋ฐ ๊ฐ„๋‹จํ•œ ์—ฐ๋™๊ณผ์ •์„ ๊ฐ„๋žตํžˆ ํฌ์ŠคํŒ…ํ•œ๋‹ค.CentOS ๋ฏธ๋Ÿฌ ์‚ฌ์ดํŠธ์—์„œ isovํŒŒ์ผ ๋‹ค์šด๋กœ๋“œํ•œ๋‹ค.(์—ฌ๊ธฐ์„  GUIํ™˜๊ฒฝ์œผ๋กœ ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•ด DVD ์„ ํƒ)CentOS7 ์„ค์น˜๋ฆฌ๋ˆ…์Šค ๋ถ€

    yaga.tistory.com

     

    ๋Œ“๊ธ€