엔터프라이즈 CI/CD 설정 - 소개 및 설치

엔터프라이즈 CI/CD 설정 - 소개 및 설치


이 시리즈에 오신 걸 환영합니다.오늘 제가 여러분께 저희가 사용할 창고와 계정 설정을 소개하겠습니다.우리는 Jenkins를 설치하고 작은 백엔드 프로젝트를 만들어서 파이프 구축을 보여줄 것이다.대부분의 회사 환경을 시뮬레이션하기 위해서, 나는 Ubuntu 18.04 (Linux) 를 작업 운영체제로 사용할 것이다.윈도우즈 옆에 있는 더블 가이드로 사용할 수도 있고 가상 컴퓨터를 사용할 수도 있습니다.

1단계: Jenkins 설치


공식 가이드는 서로 다른 환경에서 어떻게 설치하는지에 대한 상세한 설명을 제공한다.다른 운영 체제가 있는 경우 this installation guide
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > \
    /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins
Jenkins를 시작하려면 Java 8이 필요합니다.Java 8 또는 다른 버전이 없는 경우 다음과 같은 오류가 발생할 수 있습니다.

필요한 버전을 설치하여 손쉽게 수정할 수 있습니다.
sudo apt install openjdk-8-jdk
그리고 예전처럼 젠킨스를 설치해.
만일 모든 것이 정상이라면, 아무런 오류도 보지 않을 것이며, http://localhost:8080/ 에서 Jenkins admin 화면을 열 수 있습니다.암호는 파일/var/lib/jenkins/secrets/initialAdminPassword에서 찾을 수 있습니다.

플러그인 설치


로그인할 때 표시되는 화면입니다.

이제 우리는 젠킨스를 맞춤형으로 만들어야 한다.우리는 추천한 플러그인부터 시작할 것이다.많은 플러그인이 있습니다. 이 단계는 시간이 좀 걸릴 수도 있습니다.
완료되면 관리자 사용자를 만들어야 합니다.

프라이버시를 위해서, 나는 캡처에 전자 우편 필드를 추가하지 않았다.마지막으로, 너는 젠킨스 계기판으로 데려갈 것이다
계기판에 착륙해야겠어!

BitBucket 및 Jira 설정


우리는 BitBucket를 원본 코드 관리 도구로 사용할 것이다.그것은 그것을 버전 제어 도구로 사용한다.Scrum 및 문제 추적에 대해서는 Jira를 사용합니다.이 두 버전은 모두 무료이며, 우리의 간단한 용례에 충분한 기능이 있음을 주의하십시오.
BitBucket에 로그인한 후 작업공간을 만들고 해당 작업공간에서 프로젝트를 만들고 프로젝트 아래에 두 개의 저장소를 만듭니다.내 저장소는 ServerUI App

Jira 프로젝트를 Bitbucket 프로젝트에 연결


첫 번째 단계는 작업공간 링크입니다.완료되면 화면 안내서에 따라 관련 저장소를 추가할 수 있습니다.

이상적인 경우 Jira에서 선택할 수 있는 저장소 목록을 볼 수 있습니다.나에게 있어서 상황은 결코 이와 같지 않다.그래서 BitBucket으로 돌아가서 저장소를 선택한 다음 Jira 탭으로 이동했습니다.

오른쪽 상단에 있는 링크 관리 항목을 클릭하십시오.

Jira에서 질문 및 보기 만들기


우리는 업무 목록에 들어가서 문제 (이야기나 버그) 를 만들 수 있습니다.만약 당신이 발행호에 대해 약속을 한다면, 우리는 Jira에서 같은 상황을 볼 수 있을 것이다.

첫 직장


젠킨스의 첫 직장을 시작할 때가 됐어요.이 단계에서는 작업공간에서 저장소의 컨텐트만 가져오려고 합니다.이 단계는 git와 상호작용하기 때문에 기계에 git를 미리 설치하는 것이 매우 중요하다.
sudo apt-get install git
파이핑 생성 작업을 시작합니다.

현재 우리는 끝까지 뛰어내려 파이프 아래의'샘플 파이프 시험'을 클릭할 것이다.불필요한 모든 단계(지금부터 시작)를 삭제하고 파이프 구문 링크를 클릭합니다.

저장소에 액세스하는 자격 증명이 없으면 자격 증명을 추가해야 합니다.
복사하고 추가할 줄을 만들 수 있습니다.마지막 파이프는 다음과 같아야 한다.
pipeline {
        agent any

        stages {
            stage('Build') {
                steps {
                    // Get some code from a GitHub repository
                    git credentialsId: 'xxxx-xxx-xxx-xxxx', url: 'https://<username>@bitbucket.org/nilroy/server.git'
                }
            }
        }
    }
이 파일을 저장하고 '즉시 생성' 을 누르면 작업을 시도합니다.봐라, 우리의 일은 매우 효과가 있다.

기본 서버 코드


간단한 예로, 나는 마븐 프로젝트를 만들고, 클래스fine와 테스트 파일을 추가했다.
public class Person {
    private String firstName;
    private String lastName;

    Person(String fn, String ln){
        this.firstName = fn;
        this.lastName = ln;
    }

    public String getFullName(){
        return this.firstName+" "+this.lastName;
    }
}
import org.junit.Assert;
import org.junit.Test;

public class PersonTest {
    @Test
    public void testFullName(){
        Person nilroy = new Person("Niladri", "Roy");
        Assert.assertEquals("Niladri Roy", "Niladri Roy");
    }
}
mvn를 사용하여 깨끗한 설치와 테스트를 실행하면 모든 것이 정상적인지 확인할 수 있습니다.마찬가지로 로컬 시스템(또는 가상 기기)에 마벤트가 없으면 sudo apt install maven로 추가할 수 있습니다.

구축 및 테스트


우리의 골조 파이프의 마지막 부분을 추가할 때가 되었다. 이것은 구축과 테스트의 단계이다.마지막 파이프는 이렇습니다. 셸에서 마븐을 실행합니다.
pipeline {
        agent any

        stages {
            stage('Checkout') {
                steps {
                    // Get some code from a GitHub repository
                    git credentialsId: 'xxxx-xxxx-xxxxx', url: 'https://<username>@bitbucket.org/nilroy/server.git'
                }
            }
            stage('Build'){
                steps {
                    sh 'mvn -DskipTests clean install'
                }
            }
            stage('Test'){
                steps {
                    sh 'mvn test'
                }
            }
        }
    }
우리는 지금 그것을 저장하고 작업을 실행할 수 있다.만일 모든 것이 순조롭다면, 우리는 녹지를 보게 될 것이다!

파이프를 사용하는 이유


만약 우리가 빈 항목을 선택했다면, 더 간단한 방법으로 Jenkins를 설정할 수 있다.하지만 파이프를 생성하면 몇 가지 장점이 있습니다.
  • 더욱 뚜렷하고 매력적인 결과
  • 로그는 블록으로 나뉘어져 있으며 고장이 났을 때만 로그를 주목할 수 있습니다.
  • 저희는 개발자입니다. 클릭이 아니라 타자를 좋아합니다!
  • 프로젝트 파일로 쉽게 설정하고 버전 설정을 할 수 있습니다.
  • 이것은 단지 빙산의 일각일 뿐, 우리는 아직 해야 할 일이 많다.기대하세요.제가 글을 올릴 때 통지를 받기 위해서, 저를 따라오거나 시사통신을 구독하세요!
    https://ones-zeros.royniladri.dev/corporate-cicd-setup-introductions-and-installations

    좋은 웹페이지 즐겨찾기