Después de instalar y de jugar con mercurial , estoy tratando de conseguir Hudson para clonar el repositorio, de modo que se pueden construir mi proyecto.

En el momento de la siguiente tarea obras.

  • Puedo sincronizar con mi host externo y el código que se muestra en ese host.

Ahora estoy tratando de configurar hudson /jenkins para acceder al código en mi host.

Pero por desgracia estoy rodando en un error:

Started by user anonymous
$ hg clone --rev default https://bitbucket.org/*/testproject "F:\Hudson\jobs\testproject\workspace"
abort: http authorization required
ERROR: Failed to clone https://bitbucket.org/*/testproject
[workspace] $ hg log --rev . --template {node}
java.io.IOException: Cannot run program "hg" (in directory "F:\Hudson\jobs\testproject\workspace"): CreateProcess error=267, The directory name is invalid
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
    at hudson.Proc$LocalProc.<init>(Proc.java:244)
    at hudson.Proc$LocalProc.<init>(Proc.java:216)
    at hudson.Launcher$LocalLauncher.launch(Launcher.java:698)
    at hudson.Launcher$ProcStarter.start(Launcher.java:329)
    at hudson.Launcher$ProcStarter.join(Launcher.java:336)
    at hudson.plugins.mercurial.MercurialSCM.joinWithPossibleTimeout(MercurialSCM.java:298)
    at hudson.plugins.mercurial.HgExe.popen(HgExe.java:191)
    at hudson.plugins.mercurial.HgExe.tip(HgExe.java:171)
    at hudson.plugins.mercurial.MercurialSCM.calcRevisionsFromBuild(MercurialSCM.java:254)
    at hudson.scm.SCM._calcRevisionsFromBuild(SCM.java:304)
    at hudson.model.AbstractProject.calcPollingBaseline(AbstractProject.java:1186)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1175)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:523)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:418)
    at hudson.model.Run.run(Run.java:1362)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:145)
Caused by: java.io.IOException: CreateProcess error=267, The directory name is invalid
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
    at java.lang.ProcessImpl.start(ProcessImpl.java:30)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
    ... 18 more
Finished: FAILURE

Qué acciones debo hacer para decirle a Hudson utilizar nombre de usuario x y contraseña y acceder a los datos?

Editado => a Encontrar la forma de integrar ssh .

  • podría usted comentar por favor acerca de «Encontrar la forma de integrar ssh»? Tengo un error similar.
InformationsquelleAutor David | 2011-04-02

5 Comentarios

  1. 18

    Utilizar SSH en lugar de https

    Descarga putty.exe, puttygen.exe, pageant.exe y plink.exe a partir de la Masilla sitio web.
    Inicio puttygen y generar una clave en FORMATO OPENSSH (hudson formato) (=> Cómo usar Svn + SSH )

    Haga clic en Guardar clave privada botón y guardar el .PPK archivo en algún lugar.
    Haga clic en Guardar clave pública botón y guardar.

    Ir a su sitio web y entrar en la pública ssh-clave

    Ejecutar pageant.exe. El certamen icono (un equipo que llevaba un sombrero) se mostrará en el estado de la bandeja.

    Haga clic en el concurso de icono y elija Agregar Clave.
    Elegir el .PPK archivo guardado anteriormente y escriba su contraseña.

    Los siguientes (parte final es copiado) de Ted Naleid (¡Gracias!) blog de la bruja puede ser encontrado aquí : Enganchar hudson a su …

    Instalar el Mercurial plugin en Hudson

    Todo lo que queda por hacer ahora es instalar
    la Mercurial plugin en hudson. En un
    navegador, vaya a
    http://INSERT_YOUR_IP_HERE:8080.
    Hudson debe venir.

    Haga clic en «Administrar Hudson» y vaya a
    «Administrar Complementos». Ir a la
    Pestaña de «disponible», marque «Hudson
    Mercurial plugin» y pulsa el
    Botón «instalar». Hudson le pedirá
    reiniciar y, a continuación, es
    instalado.

    Después de eso, basta con crear un nuevo puesto de trabajo y
    usted tendrá una nueva «mercurial» opción
    en la «fuente de control de gestión»
    sección. Seleccione y pon el ssh
    Dirección URL en el «Repositorio» URL de campo.
    A continuación, poner «default» en la «rama»
    campo y configurar el resto del trabajo
    para construir y probar el código (un ejercicio
    a la izquierda del lector).

    y aquí está el primer exito de construir !
    Cómo configurar la Autorización de Hudson /Jenkins para clonar el repositorio de mercurial

    Conclusión : Este es un resumen de todos los pequeños blogpost dispersos por toda la internet. Espero que este post te ayuda en el inicio de hudson y mercurial.

  2. 6

    Creo que el problema no está relacionado con el nombre de usuario y contraseña. Su stacktrace indica que hay algo mal con la ruta de acceso F:\Hudson\jobs\testproject\workspace.

    No se puede ejecutar el programa de hg (en el directorio
    «F:\Hudson\jobs\testproject\workspace»)

    El nombre del directorio no es válido

    De todos modos, puede especificar el nombre de usuario y contraseña en la dirección URL como: http://user:[email protected].

  3. 3

    Para autenticar el Jenkins/Hudson Mercurial plugin con BitBucket yo también encontrado que es útil para utilizar el protocolo SSH en lugar de HTTPS en particular desde:

    1. no parece ser una manera de almacenar su HTTPS credenciales a BitBucket con la Mercurial Jenkins plugin, pero con SSH usted puede de manera segura y almacenar de forma segura sus credenciales

    2. con SSH se puede configurar para utilizar la compresión, que Mercurial no de forma nativa.

    Buenas instrucciones para configurar el acceso SSH a BitBucket están disponibles aquí: http://confluence.atlassian.com/display/BITBUCKET/Using+SSH+de+Acceso+de+Bitbucket+Repositorio

    Notas:

    • Si está ejecutando Jenkins/Hudson en un *nix servidor, tendrá que iniciar la sesión como el usuario que ejecuta el Jenkins proceso y realizar estas operaciones desde que el directorio home de los usuarios, por lo que las configuraciones se encuentran por el usuario (por ejemplo, en mi servidor Debian instalación de Jenkins independiente, el usuario «jenkins» es creada y el directorio de inicio se establece en ‘/var/lib/jenkins [no /home/jenkins] – donde he realizado las instrucciones proporcionadas en el enlace de arriba).

    • Me pareció muy útil para asegurar el hg clone comando trabajado desde la línea de comandos antes de intentar tener Jenkins llamarlo.

    • IMPORTANTE: con el fin De conseguir que esto funcione, he tenido que generar una clave * * * * sin ** una frase de contraseña.

  4. 2

    Usted puede agregar las siguientes líneas a jenkins .hgrc archivo (normalmente /var/lib/jenkins/.hgrc)

    [auth]
    bitbucket.prefix = https://bitbucket.org/your_user/...
    bitbucket.username = your_user
    bitbucket.password = ******
    

    Ver http://www.selenic.com/mercurial/hgrc.5.html#auth

    • Esta fue la solución para mí. En mi instalación de windows el .hgrc archivo que estaba oculto en esta carpeta si alguien más está buscando: C:\Program Files (x86)\Jenkins\workspace\<su carpeta de proyecto>\.hg Si su carpeta de proyecto no existe aquí, a continuación, tratar de hacer una creación inicial que Jenkins establecer para usted.
    • La ruta ha cambiado y, mientras tanto jenkins/trabajos/<su carpeta de proyecto>/espacio de trabajo/.hg, pero la mercurial plugin tienes una Credentials sección, también.
  5. 1

    Usted puede agregar sus scm credenciales en la ‘sección` Credenciales de Jenkins:

    Cómo configurar la Autorización de Hudson /Jenkins para clonar el repositorio de mercurial

    También cambiar la configuración del trabajo para el uso de las credenciales:

    Cómo configurar la Autorización de Hudson /Jenkins para clonar el repositorio de mercurial

Dejar respuesta

Please enter your comment!
Please enter your name here