带有多个分支的Bitbucket管道

问题描述 投票:0回答:1

我想使用bitbucket管道,我的bitbucket-pipelines.yml是这样的。

image: java:8

pipelines:
  default:
    - step:
        caches:
          - gradle
          - android-sdk

        script:
          /*SOME CODE*/

          # Build apk
          - chmod a+x ./gradlew
          - ./gradlew assembleDebug

  branches:
    develop:
      - step:
          caches:
            - gradle
            - android-sdk

          script:
            /*SOME CODE*/

            # Build apk
            - chmod a+x ./gradlew
            - ./gradlew assembleDebug

          artifacts:
            - app/build/outputs/apk/debug/*.apk

definitions:
  caches:
    android-sdk: android-sdk

但是在 "脚本 "里有很多等价的代码 有什么办法可以解决这个问题吗?也许把等价代码移到脚本里?

我曾想把代码移到build.sh中,但得到了错误。

+ ./build.sh
./build.sh: line 4: -: command not found
./build.sh: line 5: -: command not found
./build.sh: line 8: -: command not found
bitbucket-pipelines
1个回答
2
投票

创建一个 build.sh 文件是有可能的。然而,当你把脚本的命令复制到你的文件中时,你似乎没有删除'-'字符。对于给定的文件,你的 build.sh 应该看起来像。

/* SOME CODE*/

# Build apk
chmod a+x ./gradlew
./gradlew assembleDebug

注意每条命令前没有'-',你的bitbucket-pipelines.yml文件应该是这样的:

pipelines:
  default:
    - step:
        caches:
          - gradle
          - android-sdk

        script:
          - ./build.sh

  branches:
    develop:
      - step:
          caches:
            - gradle
            - android-sdk

          script:
            - ./build.sh

          artifacts:
            - app/build/outputs/apk/debug/*.apk

definitions:
  caches:
    android-sdk: android-sdk
© www.soinside.com 2019 - 2024. All rights reserved.