Stack Overflow tiene un número de versión de subversión en la parte inferior:
revisión svn: 679
Quiero utilizar este control de versiones automático con mis .NET Web Site/Application
proyectos / soluciones de Windows Forms y WPD.
¿Cómo implemento esto?
.net
asp.net
svn
versioning
Zack Peterson
fuente
fuente
Respuestas:
Parece que Jeff está usando CruiseControl.NET basándose en algunas ojeadas las transcripciones del podcast. Esto parece tener capacidades de implementación automatizadas desde el control de fuente hasta la producción. ¿Podría ser aquí donde está ocurriendo la inserción?
fuente
Hacemos esto con xUnit.net para nuestras compilaciones automatizadas. Usamos
CruiseControl.net
(y estamos probando TeamCity). La tarea de MSBuild que ejecutamos para la integración continua cambia automáticamente el número de compilación por nosotros, por lo que el archivo ZIP de compilación resultante contiene un conjunto de DLL y EXE con las versiones adecuadas.Nuestro archivo MSBuild contiene una referencia de UsingTask para una DLL que reemplaza expresiones regulares: (puede usar esta DLL, ya que también está cubierta por la licencia MS-PL)
A continuación, extraemos el número de compilación, que el sistema CI proporciona automáticamente. También puede hacer que su proveedor de control de fuente proporcione el número de revisión de la fuente si lo desea, pero encontramos que el número de compilación en el sistema de CI era más útil, porque no solo puede ver los resultados de integración por el número de compilación de CI, sino que también proporciona un enlace de nuevo a los conjuntos de cambios que se incluyeron en la compilación.
(Probamos BUILD_NUMBER, que es de TeamCity, luego ccnetlabel, que es de CC.net, y si ninguno está presente, usamos 0 por defecto para poder probar el script de compilación automatizado manualmente).
A continuación, tenemos una tarea que establece el número de compilación en un archivo GlobalAssemblyInfo.cs que vinculamos a todos nuestros proyectos:
Esto busca el atributo AssemblyVersion y reemplaza el número de versión abcd con abcBuildNumber. Por lo general, dejaremos la fuente marcada en el árbol con las primeras tres partes del número de constructor fijo y la cuarta en cero (fe, hoy es 1.0.2.0).
En su proceso de compilación, asegúrese de que la tarea SetVersionNumber precede a su tarea de compilación. Al final, usamos nuestra tarea Zip para comprimir los resultados de la compilación de modo que tengamos un historial de los binarios para cada compilación automatizada.
fuente
Puede hacerlo agregando lo siguiente en cualquier lugar de su código
Entonces, por ejemplo, @Jeff hizo:
y cuando se registró en el servidor reemplazó $ Id: $ con el número de revisión actual. También encontré esta referencia .
También hay $ Fecha: $ , $ Rev: $ , $ Revisión: $
fuente
Si está utilizando
ASP.Net MVC
(como lo hace StackOverflow), he escrito una guía de 3 pasos fácil de seguir sobre cómo obtener y mostrar automáticamente la última revisión de SVN . ¡La guía se inspiró pensando en mí mismo sobre esta misma pregunta! : o)fuente
@Balloon Si está usando TortoiseSVN, puede usar el programa SubWCRev empaquetado . Consulta una copia de trabajo y le indica solo el número de revisión más alto. Es cierto que este parece ser un enfoque del lado del cliente para un problema del lado del servidor, pero dado que es un buen programa de línea de comandos, debería poder capturar su salida para su uso con bastante facilidad.
fuente
$rev
y otros similares son revisiones para los archivos individuales, por lo que no cambiarán a menos que el archivo cambie. El número en la página web es (lo más probable, supongo que aquí) el número de revisión svn para todo el proyecto. Eso es diferente a las revisiones de archivos, a las que otros han apuntado.En este caso, supongo que CCNET está extrayendo el número de revisión del proyecto y reescribiendo una parte de la página web con ese número. Cualquier solución de CI debería poder hacer esto, configuré esto yo mismo con CCNET y Teamcity (aunque no páginas web, sino versiones automáticas de versiones de implementación / ensamblaje).
Para que pueda hacer esto, use una solución de CI que lo admita, o use su proceso de compilación (MSbuild / Nant) para almacenar esa versión y escribirla en los archivos antes de "implementarla".
fuente
Para agregar a la respuesta de @ BradWilson: "También puede hacer que su proveedor de control de fuente proporcione el número de revisión de la fuente si lo desea"
Para conectar Subversion y MSBuild: Proyecto de tareas de la comunidad de MSBuild
fuente