Nos dias de hoje, onde trabalhamos em "internet time", com o paragdima da cloud e onde a economia nos obriga a fazer mais com menos, o "Time to Market" torna-se um fator diferenciador entre o sucesso e o falhanço de um projeto de software.
Esta sessão aborda alguns métodos e ferramentas que nos ajudam a automatizar processos de build e deployment, que podem tornar-se dolorosos e até impeditivos no avanço para a meta final de um projeto de software, de modo a que nos possamos focar nas atividades que acrescem valor ao nosso produto.
Nomeadamente, serão apresentados exemplos práticos da aplicação das tecnologias Microsoft como o MSBuild, Web Deploy, web.config transformations, web.config parametrizations e ainda, a utilização do servidor de builds Jenkins para implementar a automação de builds e deployments.
Comunidade NetPonto, a comunidade .NET em Portugal!
http://netponto.org
4. Continuous Integration
Continuous integration (CI) is the practice, in software engineering, of
merging all developer workspaces with a shared mainline several times a
day. It was first named and proposed as part of extreme programming
(XP). Its main aim is to prevent integration problems, referred to as
"integration hell" in early descriptions of XP.
5. Continuous Delivery
Continuous delivery (CD) is a pattern language in growing use in software
development to improve the process of software delivery. Techniques such
as automated testing, continuous integration and continuous deployment
allow software to be developed to a high standard and easily packaged
and deployed to test environments, resulting in the ability to rapidly,
reliably and repeatedly push out enhancements and bug fixes to
customers at low risk and with minimal manual overhead.
7. Jenkins
Jenkins is an award-winning application that monitors executions of repeated jobs,
such as building a software project or jobs run by cron. Among those things, current
Jenkins focuses on the following two jobs:
• Building/testing software projects continuously, just like CruiseControl or
DamageControl. In a nutshell, Jenkins provides an easy-to-use so-called continuous
integration system, making it easier for developers to integrate changes to the
project, and making it easier for users to obtain a fresh build. The automated,
continuous build increases the productivity.
• Monitoring executions of externally-run jobs, such as cron jobs and procmail jobs,
even those that are run on a remote machine. For example, with cron, all you
receive is regular e-mails that capture the output, and it is up to you to look at them
diligently and notice when it broke. Jenkins keeps those outputs and makes it easy
for you to notice when something is wrong.
8. Referências
Jenkins the Definite Guide
http://www.wakaleo.com/books/jenkins-the-definitive-guide
Continuous Integration in .NET
Agile ALM
Inside the Microsoft Build Engine: Using MSBuild and Team Foundation Build
9. Referências
Jenkins
http://jenkins-ci.org/
.NET Web Development and Tools Blog - Site Home - MSDN Blogs
http://blogs.msdn.com/b/webdev/
Vishal Joshi's Tangent
http://vishaljoshi.blogspot.pt/
Microsoft Web Deployment Team Blog : The Official Microsoft IIS Site
http://blogs.iis.net/msdeploy/default.aspx
Publish : The Official Microsoft IIS Site
http://www.iis.net/learn/publish
Web Deployment Content Map for Visual Studio and ASP.NET
http://msdn.microsoft.com/en-us/library/bb386521.aspx
Web Deployment Made Awesome: If You're Using XCopy, You're Doing It Wrong - Scott Hanselman
http://www.hanselman.com/blog/WebDeploymentMadeAwesomeIfYoureUsingXCopyYoureDoingItWrong.aspx
Sayed Ibrahim Hashimi - MSBuild, Web Deploy (MSDeploy), ASP.NET
http://sedodream.com/
13. Próximas reuniões presenciais
02/03/2013 – Fevereiro (Lisboa)
09/03/2013 – Março (Porto)
16/03/2013 – Março (Lisboa)
20/04/2013 – Abril (Lisboa)
Reserva estes dias na agenda! :)