Pregunta

Esta es mi primera pregunta para Stackoverflow, así que aquí va...

Utilizo control de crucero para mi esquema de integración continua, quiero usar ofuscación para agregar otra capa de protección a mis ensamblajes.La cuestión es que no sé cómo hacerlo ya que no pude encontrar artículos que describan esto.También se aceptan sugerencias que incluyan otras herramientas de CI como NAnt.

Las herramientas comerciales también son una opción, así que no dudes en incluirlas en tu respuesta.Las aplicaciones que estoy creando y que quiero ofuscar están escritas en su mayoría en Compact Framework 2.0, Dot Net 2.0-3.5.

En este momento, el control de crucero busca cambios en el repositorio, luego, basándose en el script para la solución específica, descarga y construye el proyecto usando devenv, después de ejecutar el proyecto de instalación, copia el archivo de instalación en una carpeta diferente y eso es más o menos menos eso.Entonces necesito ofuscarme en algún lugar de este proceso.

¿Fue útil?

Solución

@konstantinos.konstantinidis.myopenid.com:Su problema parece estar en el proyecto de instalación, no en el servidor de integración continua.

Tiene el proyecto de instalación recogiendo los resultados principales del proyecto.

Cámbielo para usar referencias de archivos a las salidas.Es un poco más de configuración en el proyecto de instalación, pero creo que aún puedes lograr la misma funcionalidad.

De esa manera, puede recoger sus ensamblajes ofuscados desde cualquier directorio de preparación en el que los esté descargando su herramienta de ofuscación.

Otros consejos

Es bueno saber que alguien está usando CruiseControl.NET.Esa es una buena herramienta.Puede utilizar una herramienta de línea de comandos para la ofuscación como RemoteSoft .NET Obfuscator e integrar una llamada a la herramienta en el script de compilación.Vea el ejemplo sobre cómo ejecutar un archivo a continuación desde la wiki de CruiseControl.NET.

http://www.remotesoft.com/salamander/obfuscator.html

<exec>
    <executable>make</executable>
    <baseDirectory>D:\dev\MyProject</baseDirectory>
    <buildArgs>all</buildArgs>
    <buildTimeoutSeconds>10</buildTimeoutSeconds>
    <successExitCodes>0,1,3,5</successExitCodes>
    <environment>
        <variable>
            <name>MyVar1</name>
            <value>Var1Value</value>
        </variable>
        <variable name="MyVar2" value="Var2Value"/>
        ...
    </environment>
</exec>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top