Jenkins es una herramienta de automatización de código abierto ampliamente utilizada para la integración y entrega continuas (CI/CD) de aplicaciones de software. Jenkins proporciona una interfaz de usuario web que facilita la configuración y la gestión de trabajos, que son tareas automatizadas que pueden programarse para ejecutarse en momentos específicos o activarse por eventos específicos. Estos trabajos pueden utilizarse para compilar código, ejecutar pruebas, implementar aplicaciones y realizar muchas otras tareas relacionadas con el desarrollo de software.
Algunas de las características clave de Jenkins incluyen:
-
Fácil instalación y configuración.
Jenkins es fácil de instalar y configurar y se puede configurar en una amplia gama de sistemas operativos y plataformas.
-
Gestión eficaz de trabajos
Jenkins permite crear y gestionar trabajos, que son tareas automatizadas que pueden programarse para ejecutarse en momentos específicos o activarse por eventos específicos. Los trabajos se pueden usar para compilar código, ejecutar pruebas, implementar aplicaciones y realizar muchas otras tareas relacionadas con el desarrollo de software.
-
Amplia gama de complementos e integraciones
Jenkins cuenta con una gran cantidad de complementos e integraciones disponibles, lo que le permite funcionar con diversas herramientas y tecnologías. Esto lo hace altamente personalizable y flexible.
-
Soporte para tuberías
Jenkins ofrece un sólido soporte para pipelines, que son conjuntos de etapas que definen un flujo de trabajo de desarrollo de software. Los pipelines se pueden definir mediante código, lo que los hace altamente personalizables y fáciles de controlar por versiones.
-
Soporte de pruebas integrado
Jenkins ofrece compatibilidad integrada con diversos tipos de pruebas, como pruebas unitarias, de integración y funcionales. Esto facilita la ejecución de pruebas como parte de un flujo de trabajo de integración continua, garantizando que cualquier cambio en el código se pruebe exhaustivamente antes de implementarse en producción.
-
Escalabilidad organizacional
Jenkins se puede escalar fácilmente para soportar grandes equipos de desarrollo y flujos de trabajo de desarrollo de software complejos.
-
De código abierto
Jenkins es un software de código abierto, lo que significa que su uso es gratuito y se puede personalizar para satisfacer las necesidades específicas de su equipo de desarrollo.
Diseño de código con Jenkins
Firma de código Es un procedimiento que verifica la legitimidad del autor, así como la originalidad y autenticidad de la información digital, en particular del código de software. También garantiza que la información no sea código malicioso. Además, garantiza que esta información no haya sido alterada, falsificada ni cancelada después de su publicación. firmado digitalmente.
Para realizar el diseño de código utilizando Jenkins, siga los pasos a continuación.
Los requisitos previos para realizar esta tarea incluyen:
- Configuración de Jenkins en su dispositivo
- Signtool instalado y configurado
- ECSigning KSP instalado y configurado.
Para instalar y configurar Jenkins, siga los pasos este enlace.
Para instalar y configurar Signtool siga los pasos a continuación:
Signtool se puede descargar como parte del SDK de Windows. Descargar SDK de Windows: (desarrollador.microsoft.com/es-es/windows/downloads/windows-10-sdk/)
Puede elegir instalar solo las herramientas de firma del SDK de Windows para aplicaciones de escritorio.
Abra el archivo winsdksetup.exe. Recuerde la ruta predeterminada que se muestra en la ruta de instalación, ya que será útil para ejecutar estos comandos desde el símbolo del sistema.

En la página de Privacidad de Windows Kits, cualquiera de las opciones para permitir que Microsoft recopile información es válida. Haga clic en Siguiente.

Acepta el acuerdo de licencia

Deseleccione todas las funciones excepto Herramientas de firma del SDK de Windows para aplicaciones de escritorio Luego seleccione instalar.

Cuando se le pregunte si desea permitir que esta aplicación realice cambios, seleccione Sí.


Haga clic en la barra de búsqueda de Windows en la barra de tareas y escriba “Editar las variables de entorno del sistema” y seleccione la opción del panel de control del mismo nombre.

Haga clic en Variables de entorno.

Antes de editar la lista de variables, navegue hasta donde está instalado el SDK de Windows para usar el explorador de archivos, debe copiar la ruta de la carpeta que contiene la aplicación signtool, la ruta predeterminada es C:\Archivos de programa (x86)\Windows Kits\10\bin\10.0.22621.0\x64, Consulta la siguiente captura de pantalla. Asegúrate de hacer clic derecho y copiar la ruta como se muestra. También puedes ver la aplicación signtool al final de la lista de archivos; este es el comando que ejecutarás.

En la lista de Variables del Sistema, haga clic en Nuevo. Escriba Ruta como nombre de la variable y copie y pegue la ruta mencionada. Haga clic en OK en el entorno empresarial las variables ventana y te propiedades ventana.

Para probar la instalación, abra el símbolo del sistema y escriba signtool; el resultado debería ser como se muestra a continuación.

La ubicación de instalación predeterminada de signtool es, por ejemplo: C:\Archivos de programa (x86)\Windows Kits\10\bin\10.0.22621.0\x64
Para configurar KSP siga los pasos a continuación:
Encryption Consulting le ofrece esta solución, Firma de código seguraEsta solución le permite almacenar las claves a prueba de manipulaciones y obtener visibilidad y control completos de las actividades de firma de código. Las claves privadas del certificado de firma de código se pueden almacenar en un HSM para eliminar los riesgos asociados con el robo, la corrupción o el uso indebido de claves.
Si está utilizando nuestra solución, puede descargar el KSP siguiendo los pasos a continuación:
- Registrarse en Código de firma seguro.
-
Navegar a: Repositorio de herramientas de firma.

- Descargar “Consultoría de cifrado CNG-SigningKSP”
-
Instale las herramientas de cliente con el instalador .MSI. Este automatiza gran parte de la configuración. Vaya a la ubicación donde se guardó el archivo descargado e inicie el instalador.

-
Haga clic en Siguiente cuando aparezca el asistente de instalación.

-
Haga clic en Siguiente.

- En la pantalla Nombre de usuario campo, tipo admin.
-
En la pantalla Código campo, copie el código del Repositorio de API de Postmanimportantes. Haz clic en el icono de información del Obtener token de inicio de sesión api y copie el código de la Cuerpo
Descargue PostMan desde este este enlaceUna vez descargada, haga clic en el botón "Omitir" en la parte inferior de la ventana. En el panel, agregue una nueva colección usando el botón "+" junto a "Colecciones".
API de GetLoginToken (http://codesignsecureapi.encryptionconsulting.com/api/auth/GetLoginToken): Esta es la API más importante, ya que le proporciona una Token de portador Para usar con el resto de las API, el contenido del cuerpo se muestra a continuación. El código sirve como contraseña para obtener el token de portador, el campo de usuario es el nombre de usuario y el campo de tipo de identidad especifica el tipo de usuario. Haga clic en Enviar Para generar una salida que incluya el token de portador en la parte inferior. Copiar este token para su uso.

- Cambie la Identidad Tipo a 1.
- Abandonar URL base de la API lo mismo.
-
Haga clic en Siguiente.

-
Haga clic en Siguiente.

-
Luego se le notificará que este programa realizará cambios en su PC, haga clic en Sí.

-
La instalación ya está completa.

Una vez configurado Jenkins, necesitaremos privilegios administrativos para ejecutar el comando signtool. Para comprobar si hemos configurado los privilegios administrativos para Jenkins, y si no, para configurarlos.
- Vaya a los servicios de su sistema (puede simplemente buscarlo)
- Desplázate hacia abajo hasta Jenkins. En la columna "Iniciar sesión como", puedes ver la cuenta de usuario configurada para Jenkins. Si está configurada con un valor distinto a ".\Administrador" (Servicio local/Sistema, Servicio de red/Sistema), debemos configurarla como Administrador.
-
Haga doble clic en Jenkins o haga clic derecho > Propiedades para abrirlas. Vaya a Iniciar sesión.
Seleccione “Esta cuenta”
Configúrelo como ".\Administrador". Introduzca una contraseña, preferiblemente de administrador. Haga clic en "Aplicar" una vez hecho esto.

Una vez configurado esto, nos dirigiremos a Jenkins. Cualquier URL o nombre de host que haya especificado durante la configuración, al acceder desde su navegador, accederá a Jenkins. En mi sistema, lo he configurado como http://localhost:8080/ (También es predeterminado).
En su Panel de Control siga los pasos a continuación:
-
Desde el Panel de Control, haga clic en Nuevo Elemento.

-
Ingrese cualquier nombre de elemento y haga clic en tubería y haga clic en Aceptar.

-
En la página de configuración, en General, coloque una descripción como desee.

-
Desplácese hasta la parte inferior para encontrar Pipeline.

-
Escriba el script en el cuadro de script y haga clic en "Guardar". Deberá editar la variable de entorno según su configuración.
canalización { agente cualquier entorno { SM_KEY_NAME='evcodesigning' SM_CLIENT_CERT_FILE='C:\\Usuarios\\Administrador\\Escritorio\\ParaPruebas\\evcodesigning.pem' SM_HASHING_ALGORITHM='SHA256' SM_TIME_STAMP_SERVER="http://timestamp.digicert.com" SM_FILEPATH="C:\\Usuarios\\Administrador\\Escritorio\\ParaPruebas\\AgentService.exe" } etapas { stage('Firma de código') { pasos { dir('C:\\Usuarios\\Administrador\\Escritorio\\ParaPruebas'){ bat 'signtool sign /csp "Proveedor de almacenamiento de claves de consultoría de cifrado" /kc %SM_KEY_NAME% /fd %SM_HASHING_ALGORITHM% /f %SM_CLIENT_CERT_FILE% /tr %SM_TIME_STAMP_SERVER% /td SHA256 %SM_FILEPATH%' } } } } } -
Haga clic en compilar ahora y verá un número de compilación ejecutándose en la pantalla.

-
Si hace clic en el número de compilación y va a la salida de la consola, verá que su archivo ha sido firmado.

