Возможность упростить этот конвейер bitbucket - PullRequest
0 голосов
/ 13 февраля 2019

Я создал конвейер 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

1 Ответ

0 голосов
/ 14 февраля 2019

Используйте другое изображение Docker.Тот, который вы используете в настоящее время (samueldebruyn/debian-git), не включает git-ftp, но если вы используете тот, который сделал кто-то другой (см. Hub.docker.com), или создадите его самостоятельно, то у вас будет эта утилита наначало трубопровода.Это сэкономит вам шаги в конвейере, а также создаст минуты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...