Bitbucket Server

Drone viene con soporte experimental para el servidor de Bitbucket, Antes conocido como Atlassian Stash. Para habilitar el servidor debes habilitar las siguientes variables de entorno en el contenedor de Drone:

version: '2'

services:
  drone-server:
    image: drone/drone:0.8

    environment:
      - DRONE_OPEN=true
      - DRONE_HOST=${DRONE_HOST}
+     - DRONE_STASH=true
+     - DRONE_STASH_GIT_USERNAME=foo
+     - DRONE_STASH_GIT_PASSWORD=bar
+     - DRONE_STASH_CONSUMER_KEY=95c0282573633eb25e82
+     - DRONE_STASH_CONSUMER_RSA=/etc/bitbucket/key.pem
+     - DRONE_STASH_URL=http://stash.mycompany.com
      - DRONE_SECRET=${DRONE_SECRET}
    volumes:
+     - /path/to/key.pem:/path/to/key.pem

  drone-agent:
    image: drone/drone:0.8

    command: agent
    restart: always
    depends_on:
      - drone-server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - DRONE_SERVER=ws://drone-server:8000/ws/broker
      - DRONE_SECRET=${DRONE_SECRET}

Archivo de llave privada

El proceso de autenticación con Bitbucket requiere un certificado privado y público RSA. Aquí está como crear un certificado privado RSA.

openssl genrsa -out /etc/bitbucket/key.pem 1024

Esto almacena el certificado privado en key.pem. El siguiente comanod genera un certificado público y lo almacena en key.pub

openssl rsa -in /etc/bitbucket/key.pem -pubout >> /etc/bitbucket/key.pub

Por favor nota que el archivo de llave privado puede ser montado en tu contenedor de Drone en tiempo de ejecución o como una variable de ambiente.

Montando llave privada por medio de un volumen en tiempo de ejecución:

version: '2'

services:
  drone-server:
    image: drone/drone:0.8

    environment:
    - DRONE_OPEN=true
    - DRONE_HOST=${DRONE_HOST}
      - DRONE_STASH=true
      - DRONE_STASH_GIT_USERNAME=foo
      - DRONE_STASH_GIT_PASSWORD=bar
      - DRONE_STASH_CONSUMER_KEY=95c0282573633eb25e82
+     - DRONE_STASH_CONSUMER_RSA=/etc/bitbucket/key.pem
      - DRONE_STASH_URL=http://stash.mycompany.com
      - DRONE_SECRET=${DRONE_SECRET}
+  volumes:
+     - /etc/bitbucket/key.pem:/etc/bitbucket/key.pem

Archivo de llave privada montado como variable de entorno:

version: '2'

services:
  drone-server:
    image: drone/drone:0.8

    environment:
    - DRONE_OPEN=true
    - DRONE_HOST=${DRONE_HOST}
      - DRONE_STASH=true
      - DRONE_STASH_GIT_USERNAME=foo
      - DRONE_STASH_GIT_PASSWORD=bar
      - DRONE_STASH_CONSUMER_KEY=95c0282573633eb25e82
+     - DRONE_STASH_CONSUMER_RSA_STRING=contentOfPemKeyAsString
      - DRONE_STASH_URL=http://stash.mycompany.com
      - DRONE_SECRET=${DRONE_SECRET}

Servicio de Cuentas

Drone usa git+https para clonar repositorios, sin embargo, el servidor Bitbucket no permite clonar repositorios usando un token oauth. Para trabajar con esta limitación, puedes crear un servicio de cuentas y proveer un nombre de usuario y contraseña a Drone. Este servicio de cuenta puede ser usado para clonar repositorios privados.

Registration

Debes registrar tu aplicación con el servidor Bitbucket para poder generar las llave de cliente y llave secreta. Navega a tu configuración de cuenta y escoge Aplicaciones del menú, luego Registrar nueva aplicación. Ahora copia y pega el valor de texto de /etc/bitbucket/key.pub en el campo Llave pública en la parte siguiente del registro.

Por favor usa http://drone.mycompany.com/authorize como URL de callback de Autorización.

Configuración

Esta es una lista completa de todas las opciones de configuración. Por favor nota que estas opciones usan valores por defecto y deberían funcionar con la mayoría de instalaciones.

DRONE_STASH=true
Habilita el manejador de Servidor Bitbucket (Stash)
Set to true to enable the Bitbucket Server (Stash) driver.
DRONE_STASH_URL
Dirección del servidor de Bitbucket
DRONE_STASH_CONSUMER_KEY
Llave de cliente de Servidor oauth1
DRONE_STASH_CONSUMER_RSA
Archivo de Llave privada oath1 para el servidor de Bitbucket
DRONE_STASH_CONSUMER_RSA_STRING
Contenido de Llave privada oath1 para el servidor de Bitbucket
DRONE_STASH_GIT_USERNAME
Cuenta de usuario para clonar los repositorios.
DRONE_STASH_GIT_PASSWORD
Contraseña de usuario para clonar los repositorios.

¿Hay algún error en esta página? Por favor, háganoslo saber o edite esta página.