빌드

전체보기

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

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