본문으로 건너뛰기
최종 수정: 에

Apache Doris Connectors 릴리스

Doris Connectors에는 현재 Flink Connector와 Spark Connector가 포함됩니다. 두 저장소 모두 Doris의 메인 저장소와 독립적으로 관리됩니다:

커넥터저장소
Flink Connectorhttps://github.com/apache/doris-flink-connector
Spark Connectorhttps://github.com/apache/doris-spark-connector

이 문서에서는 Spark Connector 1.2.0을 예로 들어, Maven Staging 및 SVN 준비부터 커뮤니티 투표까지 커넥터 유형 컴포넌트의 전체 릴리스 절차를 설명합니다.

릴리스 준비​

먼저 릴리스 준비 문서를 참고하여 서명, SVN 및 Maven 환경을 설정합니다.

Maven에 릴리스​

1. 브랜치와 태그 준비​

저장소에 release-1.2.0 브랜치를 생성하고 체크아웃합니다.

revision 버전을 pom.xml에서 1.2.0으로 수정한 다음 변경 사항을 커밋합니다:

git commit -a -m "Commit for release 1.2.0"

태그를 생성하고 푸시합니다:

git tag 1.2.0
git push origin 1.2.0

2. Maven Staging에 릴리스​

Spark Connector는 Spark 버전별로(예: 2.3, 3.1, 3.2) 별도의 릴리스를 게시하므로, 각각 개별적으로 컴파일하고 게시해야 합니다. 다음은 Spark 2.3과 Scala 2.11을 예로 듭니다.

먼저 로컬 환경에서 설치하고 검증합니다:

mvn clean install \
-Dspark.version=2.3.0 \
-Dscala.version=2.11 \
-Dspark.major.version=2.3

관련 매개변수는 build.sh 스크립트의 빌드 명령을 참고하세요. revision은 이번 릴리스의 버전 번호입니다.

Apache Staging 저장소에 게시합니다:

mvn deploy \
-Papache-release \
-Dspark.version=2.3.0 \
-Dscala.version=2.11 \
-Dspark.major.version=2.3

명령이 성공하면 새로 게시한 버전이 https://repository.apache.org/#stagingRepositories에 표시됩니다:

참고

아티팩트에 .asc 서명 파일이 포함되어 있는지 확인하세요.

문제가 있으면 해당 Staging을 삭제하고 위 단계를 다시 실행합니다.

모든 항목이 올바른지 확인한 후 close 버튼을 클릭하여 Staging 릴리스를 완료합니다.

3. SVN 준비​

Dev SVN 저장소를 체크아웃합니다:

svn co https://dist.apache.org/repos/dist/dev/doris/

태그의 소스 코드를 패키징하고 서명 파일과 SHA512 체크섬 파일을 생성합니다(다음은 1.2.0을 예로 듭니다):

git archive --format=tar release-1.2.0 --prefix=apache-doris-spark-connector-1.2.0-src/ | gzip > apache-doris-spark-connector-1.2.0-src.tar.gz

gpg -u xxx@apache.org --armor --output apache-doris-spark-connector-1.2.0-src.tar.gz.asc --detach-sign apache-doris-spark-connector-1.2.0-src.tar.gz
sha512sum apache-doris-spark-connector-1.2.0-src.tar.gz > apache-doris-spark-connector-1.2.0-src.tar.gz.sha512

macOS에서는 다음 명령을 사용합니다:

shasum -a 512 apache-doris-spark-connector-1.2.0-src.tar.gz > apache-doris-spark-connector-1.2.0-src.tar.gz.sha512

다음 세 파일이 생성됩니다:

파일용도
apache-doris-spark-connector-1.2.0-src.tar.gz소스 패키지
apache-doris-spark-connector-1.2.0-src.tar.gz.ascGPG 서명 파일
apache-doris-spark-connector-1.2.0-src.tar.gz.sha512SHA512 체크섬 파일

세 파일을 다음 SVN 디렉터리로 이동합니다:

doris/spark-connector/1.2.0/

전체 SVN 디렉터리 구조는 다음과 같습니다:

|____0.15
| |____0.15.0-rc04
| | |____apache-doris-0.15.0-incubating-src.tar.gz.sha512
| | |____apache-doris-0.15.0-incubating-src.tar.gz.asc
| | |____apache-doris-0.15.0-incubating-src.tar.gz
|____KEYS
|____spark-connector
| |____1.2.0
| | |____apache-doris-spark-connector-1.2.0-src.tar.gz
| | |____apache-doris-spark-connector-1.2.0-src.tar.gz.asc
| | |____apache-doris-spark-connector-1.2.0-src.tar.gz.sha512

이 구조에서 0.15는 Doris 메인 코드 디렉터리이며, spark-connector/1.2.0에는 이번 릴리스의 파일이 들어 있습니다.

KEYS 파일을 준비하는 방법은 릴리스 준비의 관련 절을 참고하세요.

4. 투표​

다음 템플릿을 사용하여 dev@doris.apache.org 메일링 리스트에서 투표를 시작합니다:

Hi all,

This is a call for the vote to release Apache Doris Spark Connector 1.2.0

The git tag for the release:
https://github.com/apache/doris-spark-connector/releases/tag/1.2.0

Release Notes are here:
https://github.com/apache/doris-spark-connector/issues/109

Thanks to everyone who has contributed to this release.

The release candidates:
https://dist.apache.org/repos/dist/dev/doris/spark-connector/1.2.0/

Maven 2 staging repository:
https://repository.apache.org/content/repositories/orgapachedoris-1031


KEYS file is available here:
https://downloads.apache.org/doris/KEYS

To verify and build, you can refer to following link:
https://doris.apache.org/community/release-and-verify/release-verify

The vote will be open for at least 72 hours.

[ ] +1 Approve the release
[ ] +0 No opinion
[ ] -1 Do not release this package because ...

릴리스 완료​

릴리스 완료 문서를 참고하여 나머지 릴리스 단계를 마무리합니다.

부록: SNAPSHOT에 게시​

Snapshot은 Apache Release 버전이 아니며, 릴리스 전 미리보기 용도로만 사용됩니다. Snapshot 버전은 PMC에서 논의하고 승인한 후에만 게시할 수 있습니다.

Spark Connector 디렉터리로 이동합니다(Spark 2.3과 Scala 2.11을 예로 듭니다):

cd spark-doris-connector
mvn deploy \
-Dspark.version=2.3.0 \
-Dscala.version=2.11 \
-Dspark.major.version=2.3 \

게시 후 다음 주소에서 Snapshot 버전을 확인할 수 있습니다:

https://repository.apache.org/content/repositories/snapshots/org/apache/doris/doris-spark-connector/

FAQ / 문제 해결​

질문: mvn deploy 실행 시 gpg: signing failed: Inappropriate ioctl for device 오류가 발생하면 어떻게 하나요?

export GPG_TTY=$(tty)를 실행한 다음 다시 시도합니다.

질문: Staging 저장소에 .asc 서명 파일이 없습니다. 어떻게 해야 하나요?

mvn deploy 명령에 -Papache-release가 포함되어 있는지 확인하고, ~/.m2/settings.xml과 settings-security.xml이 올바르게 설정되어 있는지 확인합니다. 아티팩트가 완전하지 않으면 해당 Staging을 삭제하고 mvn deploy를 다시 실행합니다.

질문: 동일한 릴리스에서 서로 다른 Spark 버전용 아티팩트를 여러 개 게시하려면 어떻게 하나요?

각 Spark/Scala 버전 조합에 대해 mvn deploy를 개별적으로 실행하며, 매번 서로 다른 -Dspark.version, -Dscala.version, -Dspark.major.version 값을 지정합니다. 모든 조합의 게시가 완료되면 Staging 저장소를 한 번에 닫습니다.