빌드

전체보기

Odoo.sh에서 빌드는 컨테이너화된 환경에서 프로젝트 저장소의 특정 버전에서 실행되는 Odoo 서버 (odoo/odoo & odoo/enterprise)에서 로드한 데이터베이스로 간주됩니다. 이 테스트의 목적은 새로운 버전의 서버, 데이터베이스 및 기능의 동작을 테스트하는 데 있습니다.

../../../_images/interface-builds.png

이 보기에서 행은 브랜치를 나타내며, 행에 있는 셀은 이 브랜치의 빌드를 나타냅니다.

대부분의 경우 빌드는 Github 저장소 브랜치에서 푸시된 후에 생성됩니다. Odoo.sh에서 데이터베이스를 가져오거나 프로젝트의 브랜치 재구축을 요청하는 등 다른 작업을 수행할 때도 생성될 수 있습니다.

빌드를 생성하는 동안 오류나 경고 표시가 되지 않는 경우 빌드가 성공한 것으로 간주합니다. 성공적으로 완료된 빌드는 초록색으로 강조 표시됩니다.

빌드를 생성하는 동안 오류가 발생하면 빌드가 실패한 것으로 간주됩니다. 실패한 빌드는 빨간색으로 강조 표시됩니다.

생성 중에 경고가 표시되더라도 오류가 없으면 빌드가 거의 성공한 것으로 간주합니다. 개발자에게 경고가 발생했음을 알리기 위해 노란색으로 강조 표시됩니다.

빌드에서 항상 기초부터 데이터베이스가 생성되는 것은 아닙니다. 예를 들어, 프로덕션 브랜치에 변경 사항을 적용할 때 생성된 빌드로는 새로운 개정판으로 서버가 시작되고 여기에 현재 프로덕션 데이터베이스를 로드하려고 시도합니다. 오류가 발생하지 않으면 빌드가 성공한 것으로 간주되고 그렇지 않으면 실패한 것으로 간주됩니다.

단계

생산

프로덕션 브랜치의 첫 번째 빌드는 기초부터 데이터베이스를 생성합니다. 이 빌드가 성공하면 데이터베이스는 프로젝트의 프로덕션 데이터베이스로 간주됩니다.

그런 다음 프로덕션 브랜치를 적용하면 새 개정판으로 실행되는 서버에서 데이터베이스를 로드하는 새로운 빌드가 생성됩니다.

빌드가 성공했거나, 경고는 있으나 오류가 없는 경우 프로덕션 데이터베이스는 이제 해당 빌드에 연결된 개정판과 함께 이 빌드로 실행됩니다.

빌드에서 데이터베이스를 로드하거나 업데이트하는 데 실패하면 이전에 성공한 빌드로 다시 데이터베이스를 로드하므로 데이터베이스는 이전에 성공한 개정판으로 실행되는 서버에서 실행됩니다.

프로덕션 데이터베이스 실행에 사용되는 빌드는 항상 빌드 목록의 첫 번째에 위치합니다. 빌드가 실패하면 현재 프로덕션 데이터베이스를 실행 중인 빌드 뒤에 배치됩니다.

스테이징

스테이징 브랜치는 프로덕션 데이터베이스를 복제하고 해당 복제본을 스테이징 브랜치의 개정판과 함께 로드하게 됩니다.

스테이징 브랜치에 새 개정판을 적용할 때마다 생성된 빌드는 프로덕션 데이터베이스의 새 복사본을 사용합니다. 데이터베이스는 동일한 브랜치에 있는 빌드 사이에는 재사용되지 않습니다. 이를 통해 다음과 같은 내용이 보장됩니다.

  • 스테이징 빌드는 프로덕션 환경과 유사한 데이터베이스를 사용하므로 오래된 데이터로 테스트를 만들지 않습니다.

  • 동일한 스테이징 데이터베이스에서 마음껏 작업을 수행할 수 있으며, 프로덕션의 새 복사본으로 다시 시작하려는 경우 다시 빌드를 요청할 수 있습니다.

그럼에도 불구하고 스테이징 데이터베이스에서 환경 설정을 변경한 후 프로덕션에 적용하지 않으면 동일한 스테이징 브랜치의 다음 빌드로 이전되지 않습니다.

개발

개발 빌드는 새 데이터베이스 생성, 데모 데이터 로드 및 단위 테스트 실행을 하게 됩니다.

설치 중에 테스트에 실패한 경우 빌드가 실패한 것으로 간주되어 빨간색으로 강조 표시되며, 이는 문제가 발생할 경우 오류 표시를 하기 위한 것입니다.

모든 테스트를 통과하고 오류가 없는 경우에는 빌드가 성공한 것으로 간주됩니다.

설치 및 테스트할 모듈 목록에 따라 개발 빌드가 준비되는 데 최대 1시간까지 소요될 수 있습니다. 이는 기본 Odoo 모듈 모음에 설정된 테스트 수가 많기 때문입니다.

기능

프로덕션 브랜치가 항상 먼저 표시되고 다른 브랜치는 마지막으로 생성된 빌드를 기준으로 정렬됩니다. 브랜치에 필터를 적용할 수 있습니다.

../../../_images/interface-builds-branches.png

각 브랜치에 대해 연결 링크를 사용하여 데이터베이스에 있는 마지막 빌드에 액세스하고 Github 링크를 사용하여 브랜치 코드로 이동할 수 있습니다. 프로덕션 브랜치가 아닌 다른 브랜치의 경우 다시 빌드 링크를 사용하여 브랜치의 최신 버전이 적용된 새 빌드를 생성할 수 있습니다. 브랜치에 대해 이미 빌드가 진행 중인 경우에는 마지막 링크는 사용할 수 없습니다.

../../../_images/interface-builds-build.png

각 빌드에 대해 Github 아이콘 버튼으로 개정 변경 사항에 액세스할 수 있습니다. 관리자로 빌드의 데이터베이스에 액세스하려면 연결 버튼을 사용합니다. 또한 연결 버튼 드롭다운 메뉴에 있는 다음 계정으로 연결 버튼을 사용하면 데이터베이스에 다른 사용자로 액세스할 수 있습니다.

../../../_images/interface-builds-build-dropdown.png

빌드의 드롭다운 메뉴에서 브랜치 보기 와 동일한 기능인 * 로그*, 웹 셸, 편집기, 발신 이메일. 에 액세스할 수 있습니다. 또한 빌드 데이터베이스의 덤프 다운로드 를 할 수도 있습니다.