Непрекъснато снабдяване

непрекъснато

„Непрекъснатата доставка е новият Agile“

Но как работят с приложенията на Xamarin? Какви инструменти са налични и как мога да настроя собствен тръбопровод? И колко струва индивидуален разработчик? Ще отговоря на всички тези въпроси и ще обясня как да използвате тези неща в работата си! И да, те могат да бъдат достъпни безплатно!

Има няколко начина да се подготвите за работа с тях. Като разработчик на Microsoft предполагам, че вече знаете как да използвате Visual Studio Team Services (VSTS, по-рано също известен като Visual Studio Online). След като Microsoft придоби HockeyApp и Xamarin, те вече разполагат с всички инструменти, от които се нуждаят, за да осигурят пълнофункционално CI/DI тръбопроводи. В крайна сметка изглежда така.

непрекъснато

В долния ляв ъгъл вие като майстор въвеждате отличен код. И когато сте готови, регистрирате резултата и това задейства автоматично изграждане, което проверява на колко системи работи кодът и дали се интегрира с кода на други разработчици, които работят по същия проект.

Ако успее, можете да стартирате няколко офлайн теста върху него и да изпратите приложението в Test Cloud, за да бъде тествано на физически устройства. Ако всичко все още върви добре до този момент, то може или да бъде изпратено директно в магазина, или може да бъде предварително разпространено в HockeyApp и по този начин ще попадне директно в ръцете на (бета) тестери.

В тази статия ще ви покажа как да настроите VSTS, така че компилацията да се изпълнява автоматично и след това да се изпраща на HockeyApp. Като бонус ще споделя с вас как да настроите своярезервен Mac като агент за изграждане, който ще ви е необходим, ако искате да разработите и внедрите приложения за iOS.

Но това, коетоняма да засегна тук, са проблемите с провеждането на всякакъв вид тестове. Просто защото това е твърде голяма тема за повърхностно разглеждане, така че ще я разгледаме в детайли в бъдеще.

Първо; Регистрация

Всичко започва с регистрацията. За да работи всичко възможно най-ефективно, най-добре е да използвате Git като контролиращ доставчик на изходен код. Всичко това е добре интегрирано във VSTS в наши дни, така че не би трябвало да е проблем, но трябва да се внимава, когато се стартира нов проект. Вече няма да е възможно да конвертирате един проект в друг по-късно, така че трябва да подредите всичко в началото на работата или трябва да се подготвите за факта, че цялата история на разработката ще бъде загубена.

снабдяване

Както бихте очаквали от продукт на Microsoft, тук ще видите екран, където можете да избирате от няколко шаблона, които вършат по-голямата част от работата вместо вас. Но ако искате, тогава можете просто да започнете от нулата. Вероятно вече сте забелязали, че има Xamarin.Android и Xamarin.iOS и няма Xamarin.UWP и Xamarin.Forms.

И това е съвсем оправдано. Спомняте си, че Xamarin.Forms са в допълнение към обикновените приложения Xamarin.iOS, Xamarin.Android и Xamarin.UWP. Така че, когато става въпрос за създаване и разпространение на вашите приложения, те все още са отделни. Нека първо се съсредоточим върху приложението за iOS, като изберете Xamarin.iOS и щракнете върху бутона Напред.

Вече стигнахме до последната точка, където се създават конфигурации за изграждане! Изобщо не беше трудно! Тук можете да изберете кой източникизползване. Вероятно е по-добре да се придържате към първата опция, но както виждате, GitHub или дори някои други хранилища на източници също могат да се използват. Освен това можете да посочите кои хранилища и отделни разклонения на проекта да се използват.

непрекъснато

Има и квадратче за отметка за „непрекъсната интеграция“, което означава, че определена компилация ще се задейства всеки път, когато проверите кода.

Още нещо: можете да настроите опашка на агент по подразбиране. агент.

Агенти за изграждане

Необходим е агент за изграждане за сървър, който чака сигнал от вашия TFS сървър, докато услугите му не са необходими. Услугите на агент за изграждане трябва да свържат вашия код! За локална TFS услуга обикновено е лесно да инсталирате агента директно на TFS сървъра и да го свържете там. За по-големите корпорации може да е необходимо да има множество агенти за изграждане, така че ако единият е зает, друг може да поеме.

Сега, когато Microsoft поддържа много различни платформи, има нова опция за използване на различни агенти за изграждане. Агентът за изграждане на Windows няма способността да създава iOS проекти. Просто защото Apple поддържа iOS SKD частни и им позволява да работят само на Mac хардуер с XCode.

По този начин ще ви е необходим отделен агент за изграждане за разработване на iOS проекти. Ще обясня как да го направя по-късно - сега е доста лесно, но ще ви трябва резервен Mac!

Ако го нямате, MacInCloud може да бъде алтернатива. Просто казано, те ви дават под наем Mac, който можете да използвате за вашата компилация. За да получите агент за изграждане, който ще съответстваВашите изисквания, трябва да платите от един долар на час употреба и до около $ 30 в месечна тарифа. Нямам никакъв практически опит с този вид работа, така че не мога да коментирам скоростите, но ако е сравнимо, моят локален агент за изграждане на Mac, работещ с VSTS, беше невероятно бърз!

Ако имате опит с MacInCloud, моля, споделете го!

Персонализиране на дефиницията на компилация

Така че създадохме дефиниция на компилация. Ако се вгледате в него, ще откриете, че там вече има някои „стъпала“ и съдейки по червените маркировки, те не са много „щастливи“.

непрекъснато

Първата и последната точка са прости, но вече не са толкова полезни. Тъй като лицензът на Xamarin вече е безплатен, мисля, че те трябва да изчезнат с времето. Като цяло можете просто да ги игнорирате, ако искате да се впуснете в приключение, и след това да ми кажете какво се е получило от това.

Създаване на променливи

Щракнете върху раздела Променливи в горната част на екрана. Вече има някои ценности. Щракнете върху бутона Добавяне на променлива в долната част на списъка, за да добавите нова променлива.

Наименувайте го по подходящ начин, в който случай нещо като XamarinPassword трябва да свърши работа и въведете паролата в полето Стойност. Сега щракнете върху малкия катинар, който е зад полето Стойност. Полето Стойност трябва да се превърне в купа за паролата. Сега можете да използвате тази променлива във вашата стъпка на изграждане, без да се налага да споделяте паролата с някой друг. Готино!

Това може да се използва за всякакви стойности, които искате да направите променлива! Няма значение дали е защитен или не.

Освен това можете да ги използвате във всяка стъпка на изграждане, която създавате.Затова ги използвайте, за да посочите конкретни файлове или пътища, пароли, номера на версии и т.н. Ако ги свържете, тогава ще намерите приложение за тях.

Освен това е добре да знаете, че има много вече вградени променливи, които могат да ви дадат всякакъв вид информация за това, че компилацията е, ъъъ... компилация. За повече информация, моля, щракнете тук.

Завършване на дефиницията на сглобката

Така че нека се върнем към раздела Build и да преминем към стъпките за активиране и деактивиране. Сега вместо парола, въведете $(XamarinPassword). клас!

Добре, сега да преминем към по-трудните неща. Практична стъпка на сглобяване.

трябва

Всъщност единственото нещо, което наистина трябва да направим тук, е да посочим решението, което трябва да бъде сборка. Щракнете върху бутона за преглед в края на полето за въвеждане, за да изберете едно от решенията от вашето хранилище.

Има още няколко настройки, които могат да бъдат конфигурирани и които не трябва да изглеждат необичайни, ако сте участвали в създаването на пакет от приложения преди. Предполагам, че вече имате такъв опит.

Най-важните части тук вероятно са подписване и осигуряване. Можете да предоставите файл със сертификат p12 и .mobileprovision, които се използват за подписване и защита на този ipa. Това е специфично за iOS. За проект за Android трябва да направите известна манипулация на хранилището за ключове тук.

Можете също да използвате идентификатори на приложения, които изискват да имате необходимите сертификати и профили за осигуряване с вашия агент за изграждане на Mac. Освен това, ако вече имате тези настройки във вашия проектен файл, няма нужда да ги отменяте тук. Отново, ако имате необходимата конфигурация на вашия Mac, тогава можете просто да го използвате.

И последната стъпка е да стартирате тестов проект с помощта на Test Cloud. Както казах по-рано, няма да навлизам в това сега, но имайте предвид, че е изключително важно вашите тестове да преминат успешно.

Първо, защото Test Cloud е просто страхотно нещо. И второ, защото по този начин можете да следите качеството на вашето приложение. Ако искате да го приложите веднага, просто настройте всичко по начина, по който знаете. Ако планирате да направите това по-късно, най-лесно е да премахнете флага и да го поставите обратно, когато сте готови.

След това всичко е готово за работа! Сега просто се нуждаем от същия агент за изграждане.

Инсталиране на Mac Build Agent

Сега, след като имаме нашата дефиниция за изграждане, трябва да подготвим нашия агент за работа.

Имах възможност да го изпробвам на обикновен Mac mini, който ми попадна, спецификациите му бяха остарели с няколко години и не беше нищо особено: дори още нямаше SSD памет. Въпреки това представянето му е много добро! Не е нужно да върши много тежка работа, така че някои основни характеристики на хардуера вече са напълно достатъчни.

Ако не планирате да го използвате за нищо друго (бих препоръчал), просто изтрийте всичко от него и чисто инсталирайте най-новата версия на операционната система Mac OS. Освен това инсталирайте XCode и Xamarin. Нямах друга цел за използване на Mac, освен задачи за разработка, така че също така настроих TeamViewer с автоматичен достъп и така моят Mac стои някъде в шкаф днес с включен захранващ кабел и интернет кабел, и това е всичко.

И последното нещо, което трябва да направите, за да работи, е да инсталирате агента за изграждане. Това може лесно да се направи отVSTSна вашия Mac. Отидете в контролния панел и щракнете върху иконата за конфигурация (зъбно колело) в горния десен ъгъл. Може да не работи от първия път.

Ако щракнете върху него от проекта, в който се намирате, тогава ще намерите различна конфигурация, отколкото когато щракнете върху него в общото табло за управление на VSTS. Така че, ако не виждате раздела Agent Pools, отидете в горния ляв ъгъл на екрана и щракнете върху потребителското име. Пътят трябва да бъде: Контролен панел > Потребителско имене Контролен панел > потребителско име > Проект'. Вижте екранната снимка по-долу.

И така, отидете в раздела Агентски групи.

Агентски басейни

снабдяване

Ако не сте настроили агент за изграждане преди, тогава този екран вероятно ще бъде празен.

Хостваният басейн изглежда доста впечатляващ. Тази библиотека се предоставя от Microsoft с основни (генерични) агенти за изграждане в Azure, които ви помагат с основни задачи за разработка. Повечето от вашите .Net проекти могат да разчитат на тях направо от кутията.

Ако имате специални изисквания, можете да създадете своя собствена библиотека или дори библиотеки. Можете да ги подредите както желаете. Групирайте по характеристики, географско местоположение, цвят, въобще, каквото ви харесва! Но тъй като вероятно ще имате само един, той ще бъде поставен в библиотеката по подразбиране.

За да настроите останалата част от вашия агент за изграждане, следвайте тази връзка от René van Osnabraj, който знае много за ALM, така че го оставете да ви го обясни по най-добрия възможен начин!

Подреждане на първата ви компилация

След като го подготвите и стартирате, върнете се към дефиницията на компилация и опитайте да поставите на опашка първата си компилация!

Правейки това, ще се почувствате катоистински хакер, защото на екрана ви ще минават различни числа. Вероятно ще трябва да направите няколко опита, преди да се справите правилно. Разгледайте внимателно дневника, за да разберете какво се е объркало и как да го поправите.

Ако имате проблеми, които не можете да решите сами, уведомете ме! Ще се радвам да помогна.

Мисля, че това трябва да приключи засега, а за всичко друго кажете следващия път! Кажете ни как работи за вас и аз ще се върна скоро, за да ви покажа как да изпратите тази компилация на HockeyApp!