はじめに
普段 kotlin で開発しているのですが、ビルドに時間がかかって困っています。
なので、bitbucketのpipelinesで自動的にbuildして、s3に上げて、それを使おうとしたのですが、tagを付けてもgit describeがpipelines上ではエラーになってしまいます。
ローカル環境ではエラーにならないのに全然理由がわからずに困っていたのですが、やっと解決したので共有します。
git describeでエラーになる理由
pipelinesのBuld setupに秘密がありました。
ログをみると以下のようになっているかと思います。
+ umask 000
+ GIT_LFS_SKIP_SMUDGE=1 retry 6 git clone --branch="master" --depth 50 https://x-token-auth:$REPOSITORY_OAUTH_ACCESS_TOKEN@bitbucket.org/$BITBUCKET_REPO_FULL_NAME.git $BUILD_DIR
Cloning into '/opt/atlassian/pipelines/agent/build'...
--depth 50を指定していることにより、タグを付けたところまでcloneしてくれないのが原因でした。
どうすれば
--depth 50を指定しなければよいので、cloneのオプションを指定します。
bitbucket-pipelines.yml
image: build用docker-image
clone:
depth: full
pipelines:
以下略
これで無事にtagを付けたcommitもcloneされます。
+ umask 000
+ GIT_LFS_SKIP_SMUDGE=1 retry 6 git clone --branch="master" https://x-token-auth:$REPOSITORY_OAUTH_ACCESS_TOKEN@bitbucket.org/$BITBUCKET_REPO_FULL_NAME.git $BUILD_DIR
Cloning into '/opt/atlassian/pipelines/agent/build'...
参考