Как обновить ранее созданный поставщик сборки AWS CodePipeline?

Ранее я создал поставщика сборки Jenkins с помощью консоли CodePipeline. Во время создания он запрашивает URL-адрес сервера Jenkins.

Теперь мне нужно изменить URL-адрес моего сервера Jenkins, но когда я пытаюсь отредактировать, нет возможности изменить поставщика сборки. См. Снимок ниже:

введите здесь описание изображения

Единственное решение, которое я вижу, - это добавить новый.

Пытался получить конвейер с помощью aws-cli,

aws codepipeline get-pipeline --name <pipeline-name>

Но в ответе JSON есть ссылка на поставщика сборки:

        ...
        },
        {
            "name": "Build",
            "actions": [
                {
                    "inputArtifacts": [
                        {
                            "name": "APIServer"
                        }
                    ],
                    "name": "Build",
                    "actionTypeId": {
                        "category": "Build",
                        "owner": "Custom",
                        "version": "1",
                        "provider": "jenkins-api-server"
                    },
                    "outputArtifacts": [
                        {
                            "name": "APIServerTarball"
                        }
                    ],
                    "configuration": {
                        "ProjectName": "api-server-build"
                    },
                    "runOrder": 1
                }
            ]
        },
        {

Я также не смог найти никакой другой команды для управления поставщиком сборки. Итак, мой вопрос: где и как мне обновить существующую конфигурацию поставщиков сборки в AWS CodePipeline?


person Yeshodhan Kulkarni    schedule 26.08.2017    source источник


Ответы (1)


Действие Jenkins фактически определяется как настраиваемое действие в вашем аккаунте. Если вы хотите обновить конфигурацию действия, вы можете определить новую версию с помощью создать API типа настраиваемого действия. Ваши изменения будут новой «версией» типа действия, поэтому вы затем обновите actionTypeId в своем конвейере, чтобы он указывал на вашу новую версию.

Когда вы закончите, вы также можете удалите старую версию, чтобы она не отображалась в списке действий.

Что касается изменения URL-адреса Jenkins, одним из решений этого является настройка записи DNS (например, через Route53), указывающей на ваш экземпляр Jenkins, и использование имени хоста DNS в вашей конфигурации действий. Таким образом, вы сможете переназначить DNS-запись в будущем, не обновляя конвейер.

person TimB    schedule 28.08.2017
comment
Спасибо, Тим. Я закончил тем, что удалил настраиваемые действия из cli, используя aws codepipeline delete-custom-action-type, а позже создал новый, используя aws codepipeline create-custom-action-type. При изменении URL-адреса мне пришлось перейти с http на https. так что DNS не вариант. Тем не менее, большое спасибо за ваш ответ. - person Yeshodhan Kulkarni; 28.08.2017