Возможный интегрировать Google AppEngine и Google Code для непрерывной интеграции?

Ответ заключается в использовании ViewData со страницы для передачи данных в макет и его подвиды.

На странице

@page
@{
    ViewData["ActiveIndex"] = 2;
    ViewData["Title"] = "Books";
    ViewData["Description"] = "";
    ViewData["Keywords"] = "";
}

В Layout я затем отображаю заголовок следующим образом

<partial name="_Header" model='new _HeaderModel((int?)ViewData["ActiveIndex"])' />

Тогда заголовок может иметь строго типизированный параметр как часть своей модели и принять это от конструктора.

public class _HeaderModel : PageModel {
    public int? ActiveIndex { get; set; }

    public _HeaderModel() { }

    public _HeaderModel(int? activeIndex) {
        this.ActiveIndex = activeIndex;
    }
}

Добавлен вспомогательный метод

HtmlString ActiveTag(int index) => new HtmlString(index == ActiveIndex ? @"class=""active""" : "");

Затем эта старая строка

<li <%= ActiveIndex == 0 ? "class=\"active\"" : "" %>

превращается в

<li @ActiveTag(0)>

Для рефакторинга веб-форм в Razor Pages требуется немного работы, но всегда приводит к гораздо меньшему количеству кода:)

18
задан Benjamin Lee 27 October 2008 в 18:43
поделиться

5 ответов

Проект Кода Google, Размещающий теперь, поддерживает веб-Рычаги Постфиксации , которые проверяют с помощью ping-запросов указанный владельцами проекта URL после каждой фиксации. Это избавило бы от необходимости регулярно опрашивать Ваш Репозиторий кода Google.

5
ответ дан 30 November 2019 в 09:22
поделиться

Сделанный Диваном имел сообщение в блоге об их рабочем процессе с Google App Engine. В предпоследнем абзаце они имеют , присоединил рычаг подверсии что, когда, когда кто-то фиксирует код, он автоматически развернется к Google App Engine. Потребовалась бы определенная тонкая настройка (потому что это работает над стороной сервера не клиент), но Вы могли сделать то же.

5
ответ дан 30 November 2019 в 09:22
поделиться

Очень интересный, но еще возможный, AFAIK. Я искал ту опцию в Google Code без успеха.

единственное решение, которое я могу выяснить, состоит в том, чтобы установить что-то в Вашей машине, которая проверяет на изменения в Вашем репозитории SVN.

я буду рад услышать о других подходах.

1
ответ дан 30 November 2019 в 09:22
поделиться

Для тех из нас, кто использует GitHub, эта функция от команды GAE заставила бы нас всех серьезно рассмотреть переключение на Google Code...

1
ответ дан 30 November 2019 в 09:22
поделиться

У Вас должно было бы, вероятно, быть немного связующего звена на другом компьютере, который контролировал фиксации SVN и развернул новую версию для Вас. Код Google должен все же разработать и выпустить API (который они должны скоро сделать, если они серьезно относятся к этой целой вещи разработки), но GAE может быть развернут на с автоматизированной простотой родственника, таким образом, я не буду думать, что это должно быть настолько трудно. Процесс развертывания, однако, будет меняться в зависимости от каждого проекта, таким образом, это будет чем-то, в чем необходимо разобраться сами (Вы могли бы хотеть смотреть на матрица система развертывания). Затем просто установите движение задания крона, которое обновляет локальный контроль SVN на средней машине, и Вы сделаны.

2
ответ дан 30 November 2019 в 09:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: