Automation 简化此bitbucket管道的选项

Automation 简化此bitbucket管道的选项,automation,pipeline,bitbucket-pipelines,Automation,Pipeline,Bitbucket Pipelines,我创建了一个bitbucket管道,但对于每个脚本,我都需要执行相同的脚本: - apt-get update - apt-get -qq install git-ftp 但我正在寻找一种优化和简化的方法: image: samueldebruyn/debian-git pipelines: custom: # Pipelines that are triggered manually via the Bitbucket GUI init-staging:

我创建了一个bitbucket管道,但对于每个脚本,我都需要执行相同的脚本:

- apt-get update
- apt-get -qq install git-ftp
但我正在寻找一种优化和简化的方法:

image: samueldebruyn/debian-git
pipelines:
    custom: # Pipelines that are triggered manually via the Bitbucket GUI
        init-staging:
            - step:
                script:
                    - apt-get update
                    - apt-get -qq install git-ftp
                    - git ftp init --user "$FTP_USERNAME" --passwd "$FTP_PASSWORD" "$STAGING_FTP_URL" -v
        init-production:
            - step:
                script:
                    - apt-get update
                    - apt-get -qq install git-ftp
                    - git ftp init --user "$FTP_USERNAME" --passwd "$FTP_PASSWORD" "$PRODUCTION_FTP_URL" -v
        re-deploy-all-to-staging: # -- Deploys all files from the selected commit
            - step:
                script:
                    - apt-get update
                    - apt-get -qq install git-ftp
                    - git ftp init --user "$FTP_USERNAME" --passwd "$FTP_PASSWORD" "$STAGING_FTP_URL" -v --all
        re-deploy-all-to-production: # -- Deploys all files from the selected commit
            - step:
                script:
                    - apt-get update
                    - apt-get -qq install git-ftp
                    - git ftp init --user "$FTP_USERNAME" --passwd "$FTP_PASSWORD" "$PRODUCTION_FTP_URL" -v --all
        manual-to-staging:
            - step:
                script:
                    - apt-get update
                    - apt-get -qq install git-ftp
                    - git ftp push --user "$FTP_USERNAME" --passwd "$FTP_PASSWORD" "$STAGING_FTP_URL" -v
        manual-to-production:
            - step:
                script:
                    - apt-get update
                    - apt-get -qq install git-ftp
                    - git ftp push --user "$FTP_USERNAME" --passwd "$FTP_PASSWORD" "$PRODUCTION_FTP_URL" -v
    branches: # Automated triggers on commits to branches
        master: # When committing to master branch
            - step:
                deployment: staging
                script:
                    - apt-get update
                    - apt-get -qq install git-ftp
                    - git ftp push --user "$FTP_USERNAME" --passwd "$FTP_PASSWORD" "$STAGING_FTP_URL" -v

使用不同的Docker图像。您当前使用的(
samueldebruyn/debian git
)不包括git ftp,但如果您使用其他人制作的ftp(检查hub.docker.com)或自己制作的ftp,那么您将在管道开始时使用该实用程序。这将为您节省管道中的步骤,并节省构建时间