KR20180061590A - Software build system and software build method using the system - Google Patents

Software build system and software build method using the system Download PDF

Info

Publication number
KR20180061590A
KR20180061590A KR1020160160927A KR20160160927A KR20180061590A KR 20180061590 A KR20180061590 A KR 20180061590A KR 1020160160927 A KR1020160160927 A KR 1020160160927A KR 20160160927 A KR20160160927 A KR 20160160927A KR 20180061590 A KR20180061590 A KR 20180061590A
Authority
KR
South Korea
Prior art keywords
source
build
server
user terminal
unit
Prior art date
Application number
KR1020160160927A
Other languages
Korean (ko)
Inventor
김강호
김도형
Original Assignee
주식회사 플루이딕
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 플루이딕 filed Critical 주식회사 플루이딕
Priority to KR1020160160927A priority Critical patent/KR20180061590A/en
Publication of KR20180061590A publication Critical patent/KR20180061590A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing

Abstract

Disclosed are a software build system capable of reducing a cost and a time required for building and testing a source, and a software build method using the software build system. The software build system includes at least one user terminal, a source storage device, and a build automation server. The user terminal changes a source for developing software while generating monitoring information through source creation monitoring. The source storage device receives the changed source from the user terminal and stores the received source. The build automation server generates a source build unit by using the monitoring information received from the user terminal, and builds and tests the source received from the source storage unit in the source build unit. Accordingly, a server control unit is previously generated through the source creation monitoring, so that a time required for generating the source build unit is minimized while the cost is prevented from being increased due to unnecessary generation of the source build unit.

Description

소프트웨어 빌드 시스템 및 이를 이용한 소프트웨어 빌드 방법{SOFTWARE BUILD SYSTEM AND SOFTWARE BUILD METHOD USING THE SYSTEM}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a software building system,

본 발명은 소프트웨어 빌드 시스템 및 이를 이용한 소프트웨어 빌드 방법에 관한 것으로, 개발자가 작성한 원본 소스를 빌드하여 실행 소스를 생성할 수 있는 소프트웨어 빌드 시스템 및 이를 이용한 소프트웨어 빌드 방법에 관한 것이다.The present invention relates to a software build system and a software build method using the software build system, and more particularly, to a software build system capable of building an original source created by a developer to generate an execution source and a software build method using the software build system.

소프트웨어 개발자가 특정 프로그램 언어의 문법에 맞춰 작성하여 소프트웨어 원본 소스를 완성하면, 이후 상기 원본 소스를 실제 구동 환경에서 동작되는 실행 소스로 변경할 필요가 있다. 이와 같이, 상기 원본 소스를 상기 실행 소스로 변경되는 것을 소프트웨어 빌드(software build)라고 한다.When a software developer completes a software original source in accordance with a grammar of a specific programming language, the original source needs to be changed to an execution source that operates in an actual operating environment. Thus, changing the original source to the execution source is called software build.

소프트웨어 개발은 개발하고자 하는 소프트웨어가 단순한 기능을 가질 경우, 한 두 사람의 개발자에 의해 이루어질 수 있다. 그러나, 개발하고자 하는 소프트웨어가 방대하고 다양한 기능을 가질 경우에는, 복수의 개발자들이 각 기능별 또는 각 분야별로 나눠어서 소스를 작성할 수밖에 없다. 따라서, 이러한 복수의 개발자들에 의한 소프트웨어의 개발은 각 개발자가 개발한 소스들을 합성한 이후, 소프트웨어 빌드가 이루어질 수 있다.Software development can be done by one or two developers if the software they want to develop has simple functionality. However, when the software to be developed has a wide variety of functions, it is inevitable for a plurality of developers to create a source by dividing each function or each field. Therefore, software development by the plurality of developers can be performed after synthesizing the sources developed by each developer.

또한, 이미 개발한 소프트웨어는 기존 소스의 일부 내용이 변경될 수도 있다. 이와 같이, 기존 소스의 일부 내용이 변경될 경우, 변경된 내용을 포함하는 전체 소스로 다시 소프트웨어 빌드를 수행하여야 한다.In addition, software already developed may change some of the contents of existing sources. In this way, when some contents of an existing source are changed, software building should be performed again with the entire source including the changed contents.

한편, 종래의 소프트웨어 빌드 과정, 특히 기존 소스의 일부 내용을 변경하는 경우에 있어서의 소프트웨어 빌드 과정은 다음과 같은 단계로 이루어진다.Meanwhile, the conventional software building process, in particular, the software building process in the case of changing some contents of the existing source, is as follows.

우선, 어느 한 개발자가 자신의 개발 PC를 이용하여 소스를 변경하게 되면, 상기 변경된 소스를 상기 개발 PC에서 소스 저장소로 전송한다. 상기 소스 저장소는 상기 개발 PC에서 전송받은 소스를 이용하여 기 저장된 원본 소스를 변경시킨 후, 다시 CI(Continuos Integration) 서버로 전송한다. 상기 CI 서버는 상기 소스 저장소에서 변경된 원본 소스를 배포 환경에서 동작될 실행 소스로 빌드한 후, 상기 실행 소스를 테스트한다. 상기 실행 소스의 테스트 결과, 문제가 없다고 판단되면, 상기 CI 서버는 상기 실행 소스를 상기 배포 환경, 즉 배포 서버로 전송하여 실행시킬 수 있다.First, when a developer changes a source using his / her development PC, the changed source is transferred from the development PC to the source repository. The source repository changes the pre-stored original source using the source received from the development PC, and then transmits the original source to the CI (Continuos Integration) server. The CI server builds the original source changed in the source repository into an execution source to be operated in the distribution environment, and then tests the execution source. If it is determined that there is no problem in the test result of the execution source, the CI server can transfer the execution source to the distribution environment, that is, the distribution server and execute the execution source.

여기서, 상기 CI 서버는 상기 소스 저장소로부터 제공받은 소스를 빌드 및 테스트하기 위해 항상 존재하고 있는 것이 바람직하다. 그러나, 상기 CI 서버가 클라우드 기반의 서버인 경우, 상기 CI 서버가 존재하고 있는 시간만큼 비용이 증가될 수 있다.Preferably, the CI server is always present for building and testing a source provided from the source repository. However, if the CI server is a cloud-based server, the cost may be increased by the time the CI server is present.

따라서, 상기 CI 서버가 필요한 시점, 즉 상기 소스 저장소에 저장된 소스가 변경된 시점에만 존재하다면, 그만큼 비용이 감소될 수 있다. 그러나, 상기 CI 서버가 생성되는 시간 즉, 로딩 시간이 필요하기 때문에, 그만큼의 소요 시간이 발생될 수 있다.Therefore, if the CI server exists only at a necessary time, that is, at a time when the source stored in the source repository is changed, the cost can be reduced accordingly. However, since the time at which the CI server is generated, i.e., the loading time, is required, the required time may be generated.

따라서, 본 발명은 이러한 문제점을 해결하기 위한 것으로, 본 발명의 해결하고자 하는 과제는 빌드 및 테스트하는데 소요되는 비용 및 시간을 감소시킬 수 있는 소프트웨어 빌드 시스템을 제공하는 것이다.SUMMARY OF THE INVENTION Accordingly, the present invention has been made to solve the above problems, and it is an object of the present invention to provide a software build system capable of reducing cost and time required for building and testing.

또한, 본 발명의 해결하고자 하는 다른 과제는 상기 소프트웨어 빌드 시스템을 이용한 소프트웨어 빌드 방법을 제공하는 것이다.It is another object of the present invention to provide a software building method using the software build system.

본 발명의 제1 실시예에 의한 소프트웨어 빌드 시스템은 적어도 하나의 사용자 단말기, 소스 저장 장치 및 빌드 자동화 서버를 포함한다.The software build system according to the first embodiment of the present invention includes at least one user terminal, a source storage device, and a build automation server.

상기 사용자 단말기는 소스 작성 모니터링을 통해 모니터링 정보를 생성하면서, 소프트웨어 개발을 위한 소스를 변경한다. 상기 소스 저장 장치는 상기 사용자 단말기로부터 변경된 소스를 전송받아 저장한다. 상기 빌드 자동화 서버는 상기 사용자 단말기로부터 전송받은 상기 모니터링 정보를 이용하여 소스 빌드부를 생성한 후, 상기 소스 빌드부에서 상기 소스 저장 장치로부터 전송받은 소스를 빌드(bulid) 및 테스트한다.The user terminal changes the source for software development while generating monitoring information through source creation monitoring. The source storage device receives and stores the changed source from the user terminal. The build automation server generates a source build unit using the monitoring information received from the user terminal, and then builds and tests a source received from the source storage unit in the source build unit.

상기 빌드 자동화 서버는 상기 사용자 단말기로부터 상기 모니터링 정보를 전송받고, 상기 모니터링 정보를 분석하여 상기 소스 빌드부의 생성 여부를 결정하는 서버 제어부를 포함할 수 있다.The build automation server may include a server control unit for receiving the monitoring information from the user terminal and analyzing the monitoring information to determine whether to generate the source build unit.

이어서, 본 발명의 제2 실시예에 의한 소프트웨어 빌드 시스템은 적어도 하나의 사용자 단말기, 소스 저장 장치 및 빌드 자동화 서버를 포함한다.Next, a software build system according to a second embodiment of the present invention includes at least one user terminal, a source storage device, and a build automation server.

상기 사용자 단말기는 소스 작성 모니터링을 통해 모니터링 정보를 생성하면서 소프트웨어 개발을 위한 소스를 변경하고, 상기 모니터링 정보를 이용하여 서버 생성 요청 신호를 생성한다. 상기 소스 저장 장치는 상기 사용자 단말기로부터 변경된 소스를 전송받아 저장한다. 상기 빌드 자동화 서버는 상기 사용자 단말기로부터 전송받은 상기 서버 생성 요청 신호를 이용하여 소스 빌드부를 생성한 후, 상기 소스 빌드부에서 상기 소스 저장 장치로부터 전송받은 소스를 빌드(bulid) 및 테스트한다.The user terminal changes the source for software development while generating monitoring information through source creation monitoring, and generates a server generation request signal using the monitoring information. The source storage device receives and stores the changed source from the user terminal. The build automation server generates a source build unit using the server generation request signal received from the user terminal, and then builds and tests a source received from the source storage unit in the source build unit.

상기 사용자 단말기는 상기 모니터링 정보를 분석하여 상기 소스 빌드부의 생성이 필요하다고 판단하면, 상기 서버 생성 요청 신호를 생성할 수 있다. 이때, 상기 빌드 자동화 서버는 상기 사용자 단말기로부터 전송받은 상기 서버 생성 요청 신호에 응답하여 상기 소스 빌드부를 생성하는 서버 제어부를 포함할 수 있다.The user terminal analyzes the monitoring information and generates the server generation request signal when it is determined that the source build unit needs to be generated. In this case, the build automation server may include a server controller for generating the source build unit in response to the server creation request signal received from the user terminal.

한편, 본 발명의 제1 실시예에 의한 소프트웨어 빌드 방법은 적어도 하나의 사용자 단말기가 소스 작성 모니터링을 통해 모니터링 정보를 생성하여 빌드 자동화 서버의 서버 제어부로 전송하는 단계; 상기 서버 제어부가 상기 모니터링 정보를 이용하여 소스 빌드부를 생성하는 단계; 상기 사용자 단말기가 상기 변경된 소스를 생성하여 소스 저장 장치로 전송하는 단계; 상기 소스 저장 장치가 상기 변경된 소스를 저장한 후, 저장된 소스를 상기 소스 빌드부로 전송하는 단계; 및 상기 소스 빌드부가 상기 저장된 소스를 빌드 및 테스트하는 단계를 포함한다.Meanwhile, at least one user terminal generates monitoring information through source creation monitoring and transmits the monitoring information to a server control unit of a build automation server according to a first embodiment of the present invention. Generating a source build unit using the monitoring information by the server control unit; The user terminal generating the changed source and transmitting the changed source to the source storage device; Transmitting the stored source to the source build unit after the source storage apparatus stores the changed source; And the source build unit building and testing the stored source.

상기 서버 제어부가 상기 소스 빌드부를 생성하는 단계는 상기 소스 빌드부의 생성 여부를 결정하기 위해 상기 모니터링 정보를 분석하는 단계; 및 분석 결과에 따라 상기 서버 제어부를 생성하는 단계를 포함할 수 있다.Wherein the generating of the source build unit by the server control unit comprises: analyzing the monitoring information to determine whether to generate the source build unit; And generating the server control unit according to an analysis result.

이어서, 본 발명의 제2 실시예에 의한 소프트웨어 빌드 방법은 적어도 하나의 사용자 단말기가 소스 작성 모니터링을 통해 생성된 모니터링 정보를 이용하여 서버 생성 요청 신호를 생성한 후, 상기 서버 생성 요청 신호를 빌드 자동화 서버의 서버 제어부로 전송하는 단계; 상기 서버 제어부가 상기 서버 생성 요청 신호에 응답하여 소스 빌드부를 생성하는 단계; 상기 사용자 단말기가 상기 변경된 소스를 생성하여 소스 저장 장치로 전송하는 단계; 상기 소스 저장 장치가 상기 변경된 소스를 저장한 후, 저장된 소스를 상기 소스 빌드부로 전송하는 단계; 및 상기 소스 빌드부가 상기 저장된 소스를 빌드 및 테스트하는 단계를 포함한다.In a software building method according to a second embodiment of the present invention, after at least one user terminal generates a server creation request signal using the monitoring information generated through the source creation monitoring, To a server control unit of the server; The server control unit generating a source build unit in response to the server generation request signal; The user terminal generating the changed source and transmitting the changed source to the source storage device; Transmitting the stored source to the source build unit after the source storage apparatus stores the changed source; And the source build unit building and testing the stored source.

상기 사용자 단말기가 상기 서버 생성 요청 신호를 상기 서버 제어부로 전송하는 단계는 소스를 변경하면서 소스 작성 모니터링을 통해 모니터링 정보를 생성하는 단계; 상기 소스 빌드부의 생성 여부를 결정하기 위해, 상기 모니터링 정보를 분석하는 단계; 및 분석 결과 상기 소스 빌드부의 생성이 필요하다고 판단하면, 상기 서버 생성 요청 신호를 생성한 후 상기 서버 생성 요청 신호를 상기 서버 제어부를 전송하는 단계를 포함할 수 있다.Wherein the transmitting the server creation request signal to the server controller comprises: generating monitoring information through source creation monitoring while changing a source; Analyzing the monitoring information to determine whether to generate the source build unit; And transmitting the server creation request signal to the server controller after generating the server creation request signal if it is determined that the source build unit needs to be generated.

이와 같이 본 발명에 의한 소프트웨어 빌드 시스템 및 이를 이용한 소프트웨어 빌드 방법에 따르면, 사용자 단말기가 소스 작성 모니터링을 통해 모니터링 정보를 생성하여 빌드 자동화 서버의 서버 제어부로 전송하고, 서버 제어부가 모니터링 정보를 이용하여 소스 빌드부를 생성함에 따라, 소스 빌드부가 소스 저장 장치로부터 제공된 소스를 빌드 및 테스트할 수 있다.According to the software building system and the software building method using the software building system according to the present invention, the user terminal generates monitoring information through the source creation monitoring and transmits the monitoring information to the server control unit of the build automation server, By creating the build part, the source build part can build and test the provided source from the source storage device.

또한, 사용자 단말기가 소스 작성 모니터링을 통해 생성된 모니터링 정보를 이용하여 서버 생성 요청 신호를 생성하여 빌드 자동화 서버의 서버 제어부로 전송하고, 서버 제어부가 상기 서버 생성 요청 신호에 응답하여 소스 빌드부를 생성함에 따라, 소스 빌드부가 소스 저장 장치로부터 제공된 소스를 빌드 및 테스트할 수 있다.Also, the user terminal generates a server creation request signal using the monitoring information generated through the source creation monitoring and transmits the server creation request signal to the server control section of the build automation server, and the server control section generates the source build section in response to the server creation request signal Thus, the source build part can build and test the source provided from the source storage device.

이와 같이, 소스 작성 모니터링을 통해 생성된 모니터링 정보를 분석하여 소스 작성의 완료 시점을 예측하고, 예측된 시점에 대응하여 빌드 및 테스트를 위한 소스 빌드부를 미리 생성함에 따라, 상기 소스 빌드부가 불필요하게 생성되어 비용이 증가되는 것을 방지하면서, 상기 소스 빌드부의 생성에 따른 소요 시간을 최소화시킬 수 있다.In this manner, the monitoring information generated through the source creation monitoring is analyzed to predict the completion time of the source creation, and the source build unit is generated in advance for the build and test corresponding to the predicted time, The time required for generating the source build unit can be minimized while preventing the cost from increasing.

도 1은 본 발명의 제1 실시예에 의한 소프트웨어 빌드 시스템을 나타낸 블록도이다.
도 2는 도 1의 소프트웨어 빌드 시스템에 의해 수행되는 소프트웨어 빌드 방법 중 사용자 단말기가 모니터링 정보를 생성하여 전송하는 과정을 설명하기 위한 블록도이다.
도 3은 도 2의 소프트웨어 빌드 방법 중 빌드 자동화 서버의 서버 제어부가 모니터링 정보를 이용하여 소스 빌드부를 생성하는 과정을 설명하기 위한 블록도이다.
도 4는 도 2의 소프트웨어 빌드 방법 중 사용자 단말기가 변경된 소스를 전송하는 과정을 설명하기 위한 블록도이다.
도 5는 도 2의 소프트웨어 빌드 방법 중 소스 저장 장치가 변경된 소스를 저장 및 전송하는 과정을 설명하기 위한 블록도이다.
도 6은 도 2의 소프트웨어 빌드 방법 중 소스 빌드부가 소스를 빌드 및 테스트화여 배포하는 과정을 설명하기 위한 블록도이다.
도 7은 본 발명의 제2 실시예에 의한 소프트웨어 빌드 시스템에 의해 수행되는 소프트웨어 빌드 방법 중 사용자 단말기가 모니터링 정보를 분석하여 서버 생성 요청 신호를 전송하는 과정을 설명하기 위한 블록도이다.
도 8은 도 7의 소프트웨어 빌드 방법 중 빌드 자동화 서버의 서버 제어부가 서버 생성 요청 신호에 응답하여 소스 빌드부를 생성하는 과정을 설명하기 위한 블록도이다.
1 is a block diagram illustrating a software build system according to a first embodiment of the present invention.
FIG. 2 is a block diagram illustrating a process in which a user terminal generates and transmits monitoring information among software building methods performed by the software building system of FIG. 1. FIG.
FIG. 3 is a block diagram illustrating a process of generating a source build unit using a monitoring information by a server control unit of a build automation server in the software build method of FIG. 2. FIG.
FIG. 4 is a block diagram illustrating a process of transmitting a changed source from a user terminal in the software building method of FIG.
FIG. 5 is a block diagram for explaining a process of storing and transmitting a source in which a source storage device is changed in the software building method of FIG. 2. FIG.
FIG. 6 is a block diagram illustrating a process in which a source build unit builds and tests and distributes a source among the software build methods of FIG. 2; FIG.
7 is a block diagram for explaining a process of analyzing monitoring information and transmitting a server generation request signal from a software building method performed by a software building system according to a second embodiment of the present invention.
8 is a block diagram illustrating a process of generating a source build unit in response to a server creation request signal by a server control unit of a build automation server in the software build method of FIG.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다.The present invention is capable of various modifications and various forms, and specific embodiments are illustrated in the drawings and described in detail in the text.

그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.It should be understood, however, that the invention is not intended to be limited to the particular forms disclosed, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. The terms first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

본 출원에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprising" or "having ", and the like, are intended to specify the presence of stated features, integers, steps, operations, elements, parts, or combinations thereof, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, parts, or combinations thereof.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예들을 보다 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings.

<실시예 1>&Lt; Example 1 >

도 1은 본 발명의 제1 실시예에 의한 소프트웨어 빌드 시스템을 나타낸 블록도이다.1 is a block diagram illustrating a software build system according to a first embodiment of the present invention.

도 1을 참조하면, 본 실시예에 의한 소프트웨어 빌드 시스템은 적어도 하나의 사용자 단말기(100), 소스 저장 장치(200) 및 빌드 자동화 서버(400)를 포함한다.Referring to FIG. 1, a software build system according to the present embodiment includes at least one user terminal 100, a source storage device 200, and a build automation server 400.

상기 사용자 단말기(100)는 임의의 개발자에 의해 소프트웨어 개발하기 위한 장치로써, 예를 들어 데스크탑 컴퓨터, 노트북 컴퓨터, 테블릿 PC 등일 수 있다. 상기 소프트웨어의 개발이 복수의 개발자들에 의해 수행될 경우, 상기 사용자 단말기(100)도 복수개로 존재할 수 있다.The user terminal 100 may be a desktop computer, a notebook computer, a tablet PC, or the like as an apparatus for software development by any developer. When the development of the software is performed by a plurality of developers, a plurality of the user terminals 100 may exist.

상기 소스 저장 장치(200)는 상기 사용자 단말기(100)과 유무선 네트워크, 예를 들어 인터넷을 통해 연결되어 신호를 주고받을 수 있다. 상기 소스 저장 장치(200)는 상기 사용자 단말기(100)로부터 소스를 제공받으면 이를 저장하거나, 기 저장된 소스를 변경하여 저장시킬 수 있다.The source storage device 200 is connected to the user terminal 100 through a wired / wireless network, for example, the Internet, and can exchange signals. When receiving the source from the user terminal 100, the source storage device 200 may store the source or change the stored source.

예를 들어, 상기 소스 저장 장치(200)는 분산 버전 관리 툴인 깃(Git)을 사용하는 프로젝트를 지원하는 웹호스팅 서비스인 깃허브(GitHub)를 포함할 수 있다. 즉, 상기 소스 저장 장치(200)는 소프트웨어 개발을 위한 프로젝트를 진행 할 때, 복수의 개발자들이 동시에 소스를 수정하는 경우, 수정된 소스가 각각 다른 버젼일 때 문제가 생긴다거나, 이전에는 잘 돌아가던 소스트웨어가 여러 차례 소스 수정으로 프로그램이 안 돌아갈 경우 이전 버젼으로 돌린다거나, 그런 경우를 대비해서 유용하게 사용할 수 있도록 만들어진 시스템일 수 있다.For example, the source storage device 200 may include GitHub, a web hosting service supporting a project using a distributed version management tool Git. That is, when the project for software development is performed by the source storage device 200, when a plurality of developers simultaneously modify the source, a problem occurs when the modified source is a different version, It may be a system that has been modified so that it can be used in a way that is useful for its use in cases where the source software has been modified by the source several times and the program is not running.

상기 빌드 자동화 서버(300)는 상기 소스 저장 장치(200)와 직접 연결되어 신호를 주고받거나, 유무선 네트워크, 예를 들어 인터넷을 통해 신호를 주고받을 수 있다. 예를 들어, 상기 빌드 자동화 서버(300)는 클라우드(cloud) 기반 서버일 수 있다. 상기 빌드 자동화 서버(300)는 상기 소스 저장 장치(200)로부터 상기 소스 저장 장치(200)에 저장된 소스를 전송받고, 전송받은 소스를 빌드(bulid) 및 테스트한 후, 테스트 결과 문제가 없다고 판단되면 빌드된 소스를 하나 또는 복수의 배포 장치(400)로 구성된 배포 환경으로 전송시킬 수 있다. 이때, 상기 배포 장치(400)는, 서버 컴퓨터 또는 데스크탑 컴퓨터, 노트북 컴퓨터, 테블릿 PC, 스마트폰 등과 같은 개인용 단말기일 수 있다.The build automation server 300 may be directly connected to the source storage device 200 to exchange signals, or may exchange signals through a wire / wireless network, for example, the Internet. For example, the build automation server 300 may be a cloud based server. The build automation server 300 receives the source stored in the source storage device 200 from the source storage device 200, and builds and tests the received source, and if it is determined that there is no problem with the test result It is possible to transmit the built source to a distribution environment composed of one or a plurality of distribution apparatuses 400. At this time, the distribution device 400 may be a personal computer such as a server computer or a desktop computer, a notebook computer, a tablet PC, a smart phone, or the like.

한편, 상기 빌드 자동화 서버(300)는 복수의 운영체제, 예를 들어 윈도우즈(Windows), 리눅스(Linux), 아이오에스(iOS), 안드로이드(Android) 등에서 제대로 동작되는지 테스트할 수 있다.Meanwhile, the build automation server 300 can test whether it operates properly in a plurality of operating systems, for example, Windows, Linux, iOS, and Android.

또한, 상기 빌드 자동화 서버(300)는 CI(Continuos Integration) 서버일 수 있다. 그에 따라, 상기 빌드 자동화 서버(300)는 상기 소스 저장 장치(200)에 저장되어 있는 소스를 지속적으로 통합하고 검증함으로써 최신 소스가 항상 건강한 상태인지 확인할 수 있고, 통합 주기를 짧게 가져감으로써 오류 발생시 원인 파악을 신속하게 할 수 있다.Also, the build automation server 300 may be a Continuos Integration (CI) server. Accordingly, the build automation server 300 can consistently integrate and verify the sources stored in the source storage device 200, thereby checking whether the latest source is always in a healthy state, and by shortening the integration cycle, The cause can be quickly identified.

이하, 위에서 서술된 소프트웨어 빌드 시스템에 수행되는 소프트웨어 빌드 방법에 대하여 상세하게 설명하고자 한다.Hereinafter, a software building method performed in the software build system described above will be described in detail.

도 2는 도 1의 소프트웨어 빌드 시스템에 의해 수행되는 소프트웨어 빌드 방법 중 사용자 단말기가 모니터링 정보를 생성하여 전송하는 과정을 설명하기 위한 블록도이다.FIG. 2 is a block diagram illustrating a process in which a user terminal generates and transmits monitoring information among software building methods performed by the software building system of FIG. 1. FIG.

도 2를 참조하면, 우선 상기 사용자 단말기(100)가 소스 작성 모니터링을 통해 모니터링 정보를 생성한다(S10). 즉, 상기 사용자 단말기(100)가 임의의 개발자에 의해 소프트웨어 개발을 위한 코딩을 수행하는 동시에, 소스 작성 모니터링을 통해 모니터링 정보를 생성할 수 있다. 한편, 상기 사용자 단말기(100)는 새로운 전체 소스를 작성하거나, 자체 저장되어 있는 소스 중 일부를 수정 또는 추가할 수 있다. 여기서, 상기 사용자 단말기(100)에 저장된 소스는 상기 소스 저장 장치(200)로부터 전송받은 최신 버전의 소스일 수 있다.Referring to FIG. 2, the user terminal 100 generates monitoring information through source creation monitoring (S10). That is, the user terminal 100 can perform coding for software development by an arbitrary developer, and generate monitoring information through source creation monitoring. Meanwhile, the user terminal 100 may create a new full source or modify or add some of the stored sources. The source stored in the user terminal 100 may be a source of the latest version transmitted from the source storage device 200.

이어서, 상기 사용자 단말기(100)는 상기 모니터링 정보를 유무선 네트워크, 예를 들어 인터넷을 통해 상기 빌드 자동화 서버(300)의 서버 제어부(310)로 전송시킨다(S20). 상기 사용자 단말기(100)는 상기 모니터링 정보를 실시간으로 전송할 수도 있지만, 일정 시점마다 또는 일정 이벤트, 예를 들어 소스 작성의 완료 예측을 알리는 사용자의 행위 등에 의해 전송할 수도 있다.Then, the user terminal 100 transmits the monitoring information to the server control unit 310 of the build automation server 300 via a wired or wireless network, for example, the Internet (S20). The user terminal 100 may transmit the monitoring information in real time, but may transmit the monitoring information at predetermined time points or by a predetermined event, for example, an action of a user informing completion prediction of source creation.

도 3은 도 2의 소프트웨어 빌드 방법 중 빌드 자동화 서버의 서버 제어부가 모니터링 정보를 이용하여 소스 빌드부를 생성하는 과정을 설명하기 위한 블록도이다.FIG. 3 is a block diagram illustrating a process of generating a source build unit using a monitoring information by a server control unit of a build automation server in the software build method of FIG. 2. FIG.

도 3을 참조하면, 상기 서버 제어부(310)는 상기 사용자 단말기(100)로부터 전송된 상기 모니터링 정보를 분석하여, 소스 빌드부(320)의 생성 여부를 결정한다(S30).Referring to FIG. 3, the server control unit 310 analyzes the monitoring information transmitted from the user terminal 100 to determine whether to generate the source build unit 320 (S30).

이어서, 상기 서버 제어부(310)가 상기 모니터링 정보를 분석한 결과, 상기 소스 빌드부(320)가 생성될 필요가 있다고 판단되면, 상기 소스 빌드부(320)를 생성시킨다(S40). 여기서, 상기 소스 빌드부(320)가 생성된다는 것은 상기 소스 빌드부(320)가 상기 소스 저장 장치(200)와 접속되어 빌드 및 테스트 작업을 수행할 수 있도록 기능적으로 활성화된다는 것, 즉 로딩되는 것을 의미할 수 있다. 한편, 상기 소스 빌드부(320)는 예를 들어 상기 서버 베어부(310)에 의해 제어되는 적어도 하나의 서버일 수 있다.If it is determined that the source build unit 320 needs to be generated as a result of analyzing the monitoring information, the server control unit 310 generates the source build unit 320 at step S40. The generation of the source build unit 320 is performed such that the source build unit 320 is functionally activated, that is, loaded so as to be connected to the source storage device 200 and can perform a build and test operation It can mean. The source build unit 320 may be at least one server controlled by the server bare unit 310, for example.

이어서, 상기 서버 제어부(310)가 상기 소스 빌드부(320)를 생성한 경우, 서버 생성 알림 신호를 생성하여 상기 사용자 단말기(100)로 전송한다(S50).When the server control unit 310 generates the source build unit 320, the server control unit 310 generates a server generation notification signal and transmits the signal to the user terminal 100 in operation S50.

도 4는 도 2의 소프트웨어 빌드 방법 중 사용자 단말기가 변경된 소스를 전송하는 과정을 설명하기 위한 블록도이다.FIG. 4 is a block diagram illustrating a process of transmitting a changed source from a user terminal in the software building method of FIG.

도 4를 참조하면, 상기 사용자 단말기(100)는 소스의 변경을 완료하여 변경된 소스를 생성시킨다(S60). 즉, 임의의 개발자가 상기 사용자 단말기(100)를 통해 소프트웨어 개발을 위한 코딩을 수행하여, 새로운 소스 전체를 생성하거나, 기존에 생성되어 있는 전체 소스에서 일부 내용을 수정 또는 추가할 수 있다. 이때, 상기 사용자 단말기(100)는 소스의 변경을 완료하기 전에, 상기 서버 제어부(310)에서 전송된 서버 생성 알림 신호를 이용하여 상기 빌드 서버부(320)가 생성되었음을 사용자에게 표시시킬 수 있다.Referring to FIG. 4, the user terminal 100 completes the change of the source to generate a changed source (S60). That is, an arbitrary developer can perform coding for software development through the user terminal 100 to generate a whole new source, or modify or add some contents from the entire source that has been created. At this time, the user terminal 100 may display to the user that the build server unit 320 has been created using the server creation notification signal transmitted from the server control unit 310, before completing the change of the source.

이어서, 상기 서버 생성 알림 신호가 수신된 이후, 상기 사용자 단말기(100)는 상기 변경된 소스를 상기 소스 저장 장치(200)로 전송한다(S70).Then, after receiving the server creation notification signal, the user terminal 100 transmits the changed source to the source storage device 200 (S70).

도 5는 도 2의 소프트웨어 빌드 방법 중 소스 저장 장치가 변경된 소스를 저장 및 전송하는 과정을 설명하기 위한 블록도이다.FIG. 5 is a block diagram for explaining a process of storing and transmitting a source in which a source storage device is changed in the software building method of FIG. 2. FIG.

도 5를 참조하면, 상기 소스 저장 장치(200)는 상기 사용자 단말기(100)로부터 전송된 상기 변경된 소스를 저장한다(S80). 예를 들어, 상기 소스 저장 장치(200)는 상기 변경된 소스를 새롭게 저장하거나, 기 저장된 소스를 변경하여 저장시킬 수 있다.Referring to FIG. 5, the source storage device 200 stores the changed source transmitted from the user terminal 100 (S80). For example, the source storage device 200 may newly store the changed source, or may change and store the previously stored source.

이어서, 상기 소스 저장 장치(200)는 저장된 소스를 상기 빌드 자동화 서버(300)에서 생성된 상기 소스 빌드부(320)로 전송한다(S90). 예를 들어, 상기 소스 저장 장치(200)는 소스가 변경되어 저장될 때, 상기 저장된 소스를 상기 소스 빌드부(320)로 전송하거나, 상기 저장된 소스를 일정 시점마다 상상기 소스 빌드부(320)로 전송할 수 있다.Then, the source storage apparatus 200 transmits the stored source to the source build unit 320 generated in the build automation server 300 (S90). For example, when the source is changed and stored, the source storage device 200 may transmit the stored source to the source build unit 320 or may transmit the stored source to the imaginary source build unit 320 at a predetermined time, Lt; / RTI &gt;

도 6은 도 2의 소프트웨어 빌드 방법 중 소스 빌드부가 소스를 빌드 및 테스트화여 배포하는 과정을 설명하기 위한 블록도이다.FIG. 6 is a block diagram illustrating a process in which a source build unit builds and tests and distributes a source among the software build methods of FIG. 2; FIG.

도 6을 참조하면, 상기 소스 빌드부(320)는 상기 소스 저장 장치(200)로부터 전송된 상기 저장된 소스를 빌드 및 테스트한다(S100). 예를 들어, 상기 소스 빌드부(320)는 복수의 운영체제, 예를 들어 윈도우즈(Windows), 리눅스(Linux), 아이오에스(iOS), 안드로이드(Android) 등에서 제대로 동작되는지 테스트할 수 있다.Referring to FIG. 6, the source build unit 320 builds and tests the stored source transmitted from the source storage device 200 (S100). For example, the source build unit 320 can test whether it operates properly in a plurality of operating systems, for example, Windows, Linux, iOS, and Android.

이어서, 상기 소스 빌드부(320)는 상기 빌드된 소스의 테스트 결과가 통과(pass), 즉 문제가 없다고 판단하면, 상기 빌드된 소스를 상기 배포 장치(400)로 전송한다(S110).The source build unit 320 transmits the built source to the distribution apparatus 400 when it is determined that the test result of the built source is a pass, that is, no problem (S110).

이와 같이 본 실시예에 따르면, 상기 사용자 단말기(100)가 소스 작성 모니터링을 통해 상기 모니터링 정보를 생성하여 상기 서버 제어부(310)로 전송하고, 상기 서버 제어부(310)가 상기 모니터링 정보를 이용하여 상기 소스 빌드부(320)를 생성하며, 상기 소스 빌드부(320)가 상기 소스 저장 장치(200)로부터 전송된 소스를 빌드 및 테스트를 수행함에 따라, 빌드 및 테스트에 소용되는 비용 및 시간을 최소화시킬 수 있다.According to the present exemplary embodiment, the user terminal 100 generates the monitoring information through the source creation monitoring and transmits the monitoring information to the server control unit 310, and the server control unit 310 transmits the monitoring information to the server control unit 310, The source build unit 320 generates the source build unit 320 and the source build unit 320 builds and tests the source transferred from the source storage unit 200 to minimize the cost and time spent in the build and test .

즉, 상기 서버 제어부(310)가 소스 작성 모니터링을 통해 생성된 상기 모니터링 정보를 분석하여 소스 작성의 완료 시점을 예측하고, 예측된 시점에 대응하여 빌드 및 테스트를 위한 상기 소스 빌드부(320)를 미리 생성함에 따라, 상기 소스 빌드부(320)가 불필요하게 생성되어 비용이 증가되는 것을 방지하면서, 상기 소스 빌드부(320)의 생성에 따른 소요 시간을 최소화시킬 수 있다.That is, the server control unit 310 analyzes the monitoring information generated through the source creation monitoring to predict the completion time of the source creation, and the source build unit 320 for building and testing corresponding to the predicted time The time required for generating the source build unit 320 can be minimized while preventing the source build unit 320 from being unnecessarily generated and increasing the cost.

<실시예 2>&Lt; Example 2 >

도 7은 본 발명의 제2 실시예에 의한 소프트웨어 빌드 시스템에 의해 수행되는 소프트웨어 빌드 방법 중 사용자 단말기가 모니터링 정보를 분석하여 서버 생성 요청 신호를 전송하는 과정을 설명하기 위한 블록도이고, 도 8은 도 7의 소프트웨어 빌드 방법 중 빌드 자동화 서버의 서버 제어부가 서버 생성 요청 신호에 응답하여 소스 빌드부를 생성하는 과정을 설명하기 위한 블록도이다.7 is a block diagram illustrating a process of analyzing monitoring information and transmitting a server creation request signal among software building methods performed by a software building system according to a second embodiment of the present invention, 7 is a block diagram illustrating a process of generating a source build unit in response to a server creation request signal by a server control unit of a build automation server in the software build method of FIG.

본 실시예에 의한 소프트웨어 빌드 시스템 및 방법은 모니터링 정보의 분석 및 빌드 서버부의 생성 과정을 제외하면, 제1 실시예에 의한 소프트웨어 빌드 시스템 및 방법과 실질적으로 동일하므로, 제1 실시예와 동일한 구성요소에 대해서는 동일한 참조부호를 부여하고 이에 대한 자세한 설명은 생략하기로 한다.The software build system and method according to the present embodiment are substantially the same as the software build system and method according to the first embodiment except for the analysis of the monitoring information and the generation process of the build server unit, Are denoted by the same reference numerals, and a detailed description thereof will be omitted.

도 7 및 도 8을 참조하면, 우선 상기 사용자 단말기(100)가 소스 작성 모니터링을 통해 모니터링 정보를 실시간으로 또는 일정 시점마다 생성한다(S12). 즉, 상기 사용자 단말기(100)가 임의의 개발자에 의해 소프트웨어 개발을 위한 코딩을 수행하는 동시에, 소스 작성 모니터링을 통해 모니터링 정보를 생성할 수 있다. 한편, 상기 사용자 단말기(100)는 새로운 전체 소스를 작성하거나, 자체 저장되어 있는 소스 중 일부를 수정 또는 추가할 수 있다. 여기서, 상기 사용자 단말기(100)에 저장된 소스는 상기 소스 저장 장치(200)로부터 전송받은 최신 버전의 소스일 수 있다.Referring to FIGS. 7 and 8, the user terminal 100 generates monitoring information in real time or at a certain point in time through the source creation monitoring (S12). That is, the user terminal 100 can perform coding for software development by an arbitrary developer, and generate monitoring information through source creation monitoring. Meanwhile, the user terminal 100 may create a new full source or modify or add some of the stored sources. The source stored in the user terminal 100 may be a source of the latest version transmitted from the source storage device 200.

이어서, 상기 사용자 단말기(100)는 상기 모니터링 정보를 분석하여, 상기 빌드 자동화 서버(300)에서의 소스 빌드부(320)의 생성 여부를 결정한다(S22).Then, the user terminal 100 analyzes the monitoring information and determines whether to generate the source build unit 320 in the build automation server 300 (S22).

이어서, 상기 사용자 단말기(100)가 상기 모니터링 정보를 분석한 결과, 상기 소스 빌드부(320)가 생성될 필요가 있다고 판단되면, 서버 생성 요청 신호를 생성한 후, 상기 서버 생성 요청 신호를 상기 빌드 자동화 서버(300)의 서버 제어부(310)를 전송한다(S32). 이때, 상기 사용자 단말기(100)는 상기 서버 생성 요청 신호를 유무선 네트워크, 예를 들어 인터넷을 통해 상기 서버 제어부(310)로 전송할 수 있다.If it is determined that the source build unit 320 needs to be generated as a result of analyzing the monitoring information, the user terminal 100 generates a server creation request signal, And transmits the server control unit 310 of the automation server 300 (S32). At this time, the user terminal 100 may transmit the server creation request signal to the server control unit 310 via a wired or wireless network, for example, the Internet.

이어서, 상기 서버 제어부(310)는 상기 사용자 단말기(100)로부터 전송된 상기 서버 생성 요청 신호에 응답하여 상기 소스 빌드부(320)를 생성시킨다(S42). 여기서, 상기 소스 빌드부(320)가 생성된다는 것은 상기 소스 빌드부(320)가 상기 소스 저장 장치(200)와 접속되어 빌드 및 테스트 작업을 수행할 수 있도록 기능적으로 활성화된다는 것, 즉 로딩되는 것을 의미할 수 있다. 한편, 상기 소스 빌드부(320)는 예를 들어 상기 서버 베어부(310)에 의해 제어되는 적어도 하나의 서버일 수 있다.Then, the server control unit 310 generates the source build unit 320 in response to the server creation request signal transmitted from the user terminal 100 (S42). The generation of the source build unit 320 is performed such that the source build unit 320 is functionally activated, that is, loaded so as to be connected to the source storage device 200 and can perform a build and test operation It can mean. The source build unit 320 may be at least one server controlled by the server bare unit 310, for example.

이어서, 상기 서버 제어부(310)가 상기 소스 빌드부(320)를 생성한 경우, 서버 생성 알림 신호를 생성하여 상기 사용자 단말기(100)로 전송한다(S50).When the server control unit 310 generates the source build unit 320, the server control unit 310 generates a server generation notification signal and transmits the signal to the user terminal 100 in operation S50.

한편, 이후 과정은 도 4, 도 5 및 도 6을 통해 설명한 제1 실시예의 S60 내지 S110 단계들과 실질적으로 동일하므로, 이에 대한 자세한 설명은 생략하기로 한다.Meanwhile, the subsequent steps are substantially the same as the steps S60 to S110 of the first embodiment described with reference to FIGS. 4, 5 and 6, and a detailed description thereof will be omitted.

이와 같이 본 실시예에 따르면, 상기 사용자 단말기(100)가 소스 작성 모니터링을 통해 생성된 상기 모니터링 정보를 이용하여 상기 서버 생성 요청 신호를 생성하여 상기 서버 제어부(310)로 전송하고, 상기 서버 제어부(310)가 상기 서버 생성 요청 신호에 응답하여 상기 소스 빌드부(320)를 생성하며, 상기 소스 빌드부(320)가 상기 소스 저장 장치로부터 전송된 소스를 빌드 및 테스트함에 따라, 빌드 및 테스트에 소용되는 비용 및 시간을 최소화시킬 수 있다.As described above, according to the present embodiment, the user terminal 100 generates the server creation request signal using the monitoring information generated through the source creation monitoring and transmits the server creation request signal to the server control unit 310, 310 generates the source build unit 320 in response to the server creation request signal and as the source build unit 320 builds and tests the transmitted source from the source storage device, Thereby minimizing the cost and time required for the operation.

즉, 상기 사용자 단말기(100)가 소스 작성 모니터링을 통해 생성된 상기 모니터링 정보를 분석하여 소스 작성의 완료 시점을 예측하고, 예측된 시점에 대응하여 상기 서버 제어부(310)가 빌드 및 테스트를 위한 상기 소스 빌드부(320)를 미리 생성시킴에 따라, 상기 소스 빌드부(320)가 불필요하게 생성되어 비용이 증가되는 것을 방지하면서, 상기 소스 빌드부(320)의 생성에 따른 소요 시간을 최소화시킬 수 있다.That is, the user terminal 100 analyzes the monitoring information generated through the source creation monitoring to predict the completion time of the source creation, and the server control unit 310 determines whether or not the source It is possible to minimize the time required for generating the source build unit 320 while preventing the source build unit 320 from being unnecessarily generated and increasing the cost by generating the source build unit 320 in advance have.

앞서 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시예들을 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술될 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.While the present invention has been described in connection with what is presently considered to be practical and exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

100 : 사용자 단말기 200 : 소스 저장 장치
300 : 빌드 자동화 서버 400 : 배포 장치
100: user terminal 200: source storage device
300: Build Automation Server 400: Deployment Device

Claims (8)

소스 작성 모니터링을 통해 모니터링 정보를 생성하면서, 소프트웨어 개발을 위한 소스를 변경하는 적어도 하나의 사용자 단말기;
상기 사용자 단말기로부터 변경된 소스를 전송받아 저장하는 소스 저장 장치; 및
상기 사용자 단말기로부터 전송받은 상기 모니터링 정보를 이용하여 소스 빌드부를 생성한 후, 상기 소스 빌드부에서 상기 소스 저장 장치로부터 전송받은 소스를 빌드(bulid) 및 테스트하는 빌드 자동화 서버를 포함하는 소프트웨어 빌드 시스템.
At least one user terminal that changes the source for software development while generating monitoring information through source creation monitoring;
A source storage device for receiving and storing a changed source from the user terminal; And
And a build automation server that generates and builds a source build unit using the monitoring information received from the user terminal and then builds and tests a source received from the source storage unit in the source build unit.
제1항에 있어서, 상기 빌드 자동화 서버는
상기 사용자 단말기로부터 상기 모니터링 정보를 전송받고, 상기 모니터링 정보를 분석하여 상기 소스 빌드부의 생성 여부를 결정하는 서버 제어부를 포함하는 것을 특징으로 하는 소프트웨어 빌드 시스템.
The system of claim 1, wherein the build automation server
And a server control unit for receiving the monitoring information from the user terminal and analyzing the monitoring information to determine whether to generate the source build unit.
소스 작성 모니터링을 통해 모니터링 정보를 생성하면서 소프트웨어 개발을 위한 소스를 변경하고, 상기 모니터링 정보를 이용하여 서버 생성 요청 신호를 생성하는 적어도 하나의 사용자 단말기;
상기 사용자 단말기로부터 변경된 소스를 전송받아 저장하는 소스 저장 장치; 및
상기 사용자 단말기로부터 전송받은 상기 서버 생성 요청 신호를 이용하여 소스 빌드부를 생성한 후, 상기 소스 빌드부에서 상기 소스 저장 장치로부터 전송받은 소스를 빌드(bulid) 및 테스트하는 빌드 자동화 서버를 포함하는 소프트웨어 빌드 시스템.
At least one user terminal for changing a source for software development while generating monitoring information through source creation monitoring and generating a server generation request signal using the monitoring information;
A source storage device for receiving and storing a changed source from the user terminal; And
And a build automation server that generates and builds a source build unit using the server creation request signal received from the user terminal and then builds and tests a source received from the source storage unit in the source build unit, system.
제3항에 있어서, 상기 사용자 단말기는
상기 모니터링 정보를 분석하여 상기 소스 빌드부의 생성이 필요하다고 판단하면, 상기 서버 생성 요청 신호를 생성하고,
상기 빌드 자동화 서버는
상기 사용자 단말기로부터 전송받은 상기 서버 생성 요청 신호에 응답하여 상기 소스 빌드부를 생성하는 서버 제어부를 포함하는 것을 특징으로 하는 소프트웨어 빌드 시스템.
4. The method of claim 3, wherein the user terminal
Generates the server creation request signal when it is determined that the source build unit needs to be generated by analyzing the monitoring information,
The build automation server
And a server controller for generating the source build unit in response to the server creation request signal received from the user terminal.
적어도 하나의 사용자 단말기가 소스 작성 모니터링을 통해 모니터링 정보를 생성하여 빌드 자동화 서버의 서버 제어부로 전송하는 단계;
상기 서버 제어부가 상기 모니터링 정보를 이용하여 소스 빌드부를 생성하는 단계;
상기 사용자 단말기가 상기 변경된 소스를 생성하여 소스 저장 장치로 전송하는 단계;
상기 소스 저장 장치가 상기 변경된 소스를 저장한 후, 저장된 소스를 상기 소스 빌드부로 전송하는 단계; 및
상기 소스 빌드부가 상기 저장된 소스를 빌드 및 테스트하는 단계를 포함하는 소프트웨어 빌드 방법.
At least one user terminal generates monitoring information through source creation monitoring and transmits the monitoring information to a server control unit of a build automation server;
Generating a source build unit using the monitoring information by the server control unit;
The user terminal generating the changed source and transmitting the changed source to the source storage device;
Transmitting the stored source to the source build unit after the source storage apparatus stores the changed source; And
Wherein the source build unit builds and tests the stored source.
제5항에 있어서, 상기 서버 제어부가 상기 소스 빌드부를 생성하는 단계는
상기 소스 빌드부의 생성 여부를 결정하기 위해, 상기 모니터링 정보를 분석하는 단계; 및
분석 결과에 따라 상기 서버 제어부를 생성하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 빌드 방법.
6. The method of claim 5, wherein the server control unit
Analyzing the monitoring information to determine whether to generate the source build unit; And
And generating the server control unit according to an analysis result.
적어도 하나의 사용자 단말기가 소스 작성 모니터링을 통해 생성된 모니터링 정보를 이용하여 서버 생성 요청 신호를 생성한 후, 상기 서버 생성 요청 신호를 빌드 자동화 서버의 서버 제어부로 전송하는 단계;
상기 서버 제어부가 상기 서버 생성 요청 신호에 응답하여 소스 빌드부를 생성하는 단계;
상기 사용자 단말기가 상기 변경된 소스를 생성하여 소스 저장 장치로 전송하는 단계;
상기 소스 저장 장치가 상기 변경된 소스를 저장한 후, 저장된 소스를 상기 소스 빌드부로 전송하는 단계; 및
상기 소스 빌드부가 상기 저장된 소스를 빌드 및 테스트하는 단계를 포함하는 소프트웨어 빌드 방법.
The at least one user terminal generates a server creation request signal using the monitoring information generated through the source creation monitoring and transmits the server creation request signal to the server control section of the build automation server;
The server control unit generating a source build unit in response to the server generation request signal;
The user terminal generating the changed source and transmitting the changed source to the source storage device;
Transmitting the stored source to the source build unit after the source storage apparatus stores the changed source; And
Wherein the source build unit builds and tests the stored source.
제7항에 있어서, 상기 사용자 단말기가 상기 서버 생성 요청 신호를 상기 서버 제어부로 전송하는 단계는
소스를 변경하면서, 소스 작성 모니터링을 통해 모니터링 정보를 생성하는 단계;
상기 소스 빌드부의 생성 여부를 결정하기 위해, 상기 모니터링 정보를 분석하는 단계; 및
분석 결과 상기 소스 빌드부의 생성이 필요하다고 판단하면, 상기 서버 생성 요청 신호를 생성한 후, 상기 서버 생성 요청 신호를 상기 서버 제어부를 전송하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 빌드 방법.
The method of claim 7, wherein the transmitting the server creation request signal to the server controller
Generating monitoring information through source creation monitoring while changing the source;
Analyzing the monitoring information to determine whether to generate the source build unit; And
And transmitting the server creation request signal to the server controller after generating the server creation request signal if it is determined that the source build unit needs to be generated.
KR1020160160927A 2016-11-30 2016-11-30 Software build system and software build method using the system KR20180061590A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160160927A KR20180061590A (en) 2016-11-30 2016-11-30 Software build system and software build method using the system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160160927A KR20180061590A (en) 2016-11-30 2016-11-30 Software build system and software build method using the system

Publications (1)

Publication Number Publication Date
KR20180061590A true KR20180061590A (en) 2018-06-08

Family

ID=62600223

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160160927A KR20180061590A (en) 2016-11-30 2016-11-30 Software build system and software build method using the system

Country Status (1)

Country Link
KR (1) KR20180061590A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110077591A (en) * 2009-12-30 2011-07-07 링크젠 주식회사 Multi platform transformation apparatus and method for wipi based applications
KR101282024B1 (en) * 2013-04-11 2013-07-04 주식회사 제이윈파트너스 Co-working tool automation system
KR20140018329A (en) * 2011-04-06 2014-02-12 미디어 다이렉트, 인크. Systems and methods for a mobile application development and deployment platform
KR20150124530A (en) * 2014-04-28 2015-11-06 주식회사 다빈치소프트웨어연구소 Application build system, control method thereof, and recording medium for recording program for executing the control method
JP2016143146A (en) * 2015-01-30 2016-08-08 日本電信電話株式会社 Auto-resource logging system, auto-resource logging method, and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110077591A (en) * 2009-12-30 2011-07-07 링크젠 주식회사 Multi platform transformation apparatus and method for wipi based applications
KR20140018329A (en) * 2011-04-06 2014-02-12 미디어 다이렉트, 인크. Systems and methods for a mobile application development and deployment platform
KR101282024B1 (en) * 2013-04-11 2013-07-04 주식회사 제이윈파트너스 Co-working tool automation system
KR20150124530A (en) * 2014-04-28 2015-11-06 주식회사 다빈치소프트웨어연구소 Application build system, control method thereof, and recording medium for recording program for executing the control method
JP2016143146A (en) * 2015-01-30 2016-08-08 日本電信電話株式会社 Auto-resource logging system, auto-resource logging method, and program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
John Ousterhout et al, "A Scalable Software Build Accelerator"(2009.) 1부. *
Saurabh, "What is Jenkins"(2016.11.07.) 1부. *

Similar Documents

Publication Publication Date Title
CN111651366B (en) SDK test method, device, equipment and storage medium
US10430172B2 (en) Re-configuration in cloud computing environments
KR20180061589A (en) Software build system and software build method using the system
CN108563579B (en) White box testing method, device and system and storage medium
CN113885870B (en) Application program updating method, electronic equipment, terminal equipment and system
CN110674047B (en) Software testing method and device and electronic equipment
CN110647332A (en) Software deployment method and device based on container cloud
WO2020211360A1 (en) Mock test method and system, electronic device, and computer non-volatile readable storage medium
CN109901985B (en) Distributed test apparatus and method, storage medium, and electronic device
US20220188214A1 (en) Dynamic distributed tracing instrumentation in a microservice architecture
CN109471647B (en) Data updating method and device, electronic equipment and readable medium
CN113704110A (en) Automatic testing method and device for user interface
CN113986270B (en) Distributed application deployment method and device, storage medium and electronic equipment
CN114168471A (en) Test method, test device, electronic equipment and storage medium
WO2019222941A1 (en) Method for evaluating application deployment, apparatus, computer program product, and readable medium
CN116627850A (en) Function debugging method and device, storage medium and electronic equipment
EP3321808B1 (en) Verification system and verification method
CN115098105B (en) Container cloud performance test evaluation implementation method, device, equipment and medium
CN108289114B (en) Cloud service system and method for processing cloud service exception
KR20180061590A (en) Software build system and software build method using the system
CN108614704B (en) Code compiling method and device
JP2019179284A (en) Simulation system and simulation program
CN112231231A (en) Method, system and device for debugging cloud service
KR20220049334A (en) Method and system for application test
JPWO2016135821A1 (en) Inspection device, inspection method, and program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application