跳转到主要内容

docker的容器构建器。

项目描述

为docker提供的分布式构建系统。将通过tag-webhook从github拉取仓库,并通过Dockerfile进行构建。

功能

  1. 分布式系统。任何部分都可以在不同的主机上运行。

  2. 电子邮件通知(成功和错误)。

  3. 推送到公共或私有docker注册表。

  4. 在队列中构建。

  5. 将异常报告通过电子邮件发送给管理员。

  6. docker守护进程的TLS客户端认证。

  7. SMTP认证

  8. 通过webhook标签从github构建(您可能可以通过pull-request为其他服务创建扩展)。

  9. 多安装(感谢RMQ vhosts)

要求

  • Python >=2.7 (>3.4需要测试)。

  • RabbitMQ服务器。为组件提供通信。

部分

系统由3部分组成

  • WEB服务器。基于tornado http服务器以接受webhook

  • 工作进程。构建守护进程监听AMQP

  • 邮递员。邮件守护进程。提供有关构建结果的通知。

安装

  1. 安装Rabbitmq服务器

  2. pip安装lumper

用法

lumper提供了一个可执行文件lumper。您可以使用选项–help(或-h)运行此文件

$ lumper --help
usage: lumper [-h] {server,worker,mailer} ...

positional arguments:
  {server,worker,mailer}
    server              Run http backend
    worker              Run in worker mode
    mailer              Run as mailer delivery worker

optional arguments:
  -h, --help            show this help message and exit

Notice: exec "lumper <command> --help" for command options

命令行配置

您可以看到有关任何模式的帮助。对于Web服务器

$ lumper server --help
usage: lumper server [-h] [--config CONFIG] [--gen-config] [-a ADDRESS]
                     [-p PORT] [--secret COOKIE_SECRET] [--gzip] [--debug]
                     [--logging LOGGING] [--github-secret GITHUB_SECRET]
                     [-A RMQ_ADDRESS] [-P RMQ_PORT] [-H RMQ_VHOST]
                     [--user RMQ_USER] [--password RMQ_PASSWORD]

optional arguments:
  -h, --help            show this help message and exit
  --config CONFIG       Load configuration from file
  --gen-config          Create example of the config_file.json

Server options:
  -a ADDRESS, --address ADDRESS
                        Listen this address
  -p PORT, --port PORT  Listen this port
  --secret COOKIE_SECRET
                        Cookie secret
  --gzip                Gzip HTTP responses
  --debug               Debugging mode
  --logging LOGGING     Logging level
  --github-secret GITHUB_SECRET
                        Github webhook's secret
  -A RMQ_ADDRESS, --rmq-address RMQ_ADDRESS
                        RMQ host address
  -P RMQ_PORT, --rmq-port RMQ_PORT
                        RMQ host port
  -H RMQ_VHOST, --vhost RMQ_VHOST
                        RMQ virtual host
  --user RMQ_USER       RMQ virtual host
  --password RMQ_PASSWORD
                        RMQ virtual host

对于工作进程

$ lumper worker --help
usage: lumper worker [-h] [--config CONFIG] [--gen-config] [--logging LOGGING]
                     [-a AMQP_ADDRESS] [-p AMQP_PORT] [-H AMQP_VHOST]
                     [-U AMQP_USER] [-P AMQP_PASSWORD]
                     [--docker-url DOCKER_URL] [--docker-tls]
                     [--docker-ca DOCKER_CA_CERT]
                     [--docker-cert DOCKER_CLIENT_CERT]
                     [--docker-key DOCKER_CLIENT_KEY] [--docker-tls-strict]
                     [--docker-registry DOCKER_REGISTRY]
                     [--docker-ssl-registry] [--docker-publish]

optional arguments:
  -h, --help            show this help message and exit
  --config CONFIG       Load configuration from file
  --gen-config          Create example of the config_file.json

Main options:
  --logging LOGGING     Logging level

RabbitMQ options:
  -a AMQP_ADDRESS, --address AMQP_ADDRESS
                        RMQ host address
  -p AMQP_PORT, --port AMQP_PORT
                        RMQ host port
  -H AMQP_VHOST, --vhost AMQP_VHOST
                        RMQ virtual host
  -U AMQP_USER, --user AMQP_USER
                        RMQ username
  -P AMQP_PASSWORD, --password AMQP_PASSWORD
                        RMQ password

Docker options:
  --docker-url DOCKER_URL
                        Docker daemon url ["unix:///var/run/docker.sock"]
  --docker-tls          Set when a docker daemon use TLS
  --docker-ca DOCKER_CA_CERT
                        TLS certificate authority
  --docker-cert DOCKER_CLIENT_CERT
                        TLS client certificate
  --docker-key DOCKER_CLIENT_KEY
                        TLS client private key
  --docker-tls-strict   Strict verification server certificate
  --docker-registry DOCKER_REGISTRY
                        Set if you have a private registry
  --docker-ssl-registry
                        The private registry use ssl
  --docker-publish      Set if you want push images to registry

对于邮递员

$ lumper mailer --help
usage: lumper mailer [-h] [--config CONFIG] [--gen-config] [--logging LOGGING]
                     [-a AMQP_ADDRESS] [-p AMQP_PORT] [-H AMQP_VHOST]
                     [-U AMQP_USER] [-P AMQP_PASSWORD] [--smtp-host SMTP_HOST]
                     [--smtp-port SMTP_PORT] [--smtp-user SMTP_USER]
                     [--smtp-password SMTP_PASSWORD] [--smtp-tls]
                     [--smtp-sender SMTP_SENDER] [--mail-map MAIL_MAP]
                     [--admin-mail ADMIN_MAIL]

optional arguments:
  -h, --help            show this help message and exit
  --config CONFIG       Load configuration from file
  --gen-config          Create example of the config_file.json

Main options:
  --logging LOGGING     Logging level

RabbitMQ options:
  -a AMQP_ADDRESS, --address AMQP_ADDRESS
                        RMQ host address
  -p AMQP_PORT, --port AMQP_PORT
                        RMQ host port
  -H AMQP_VHOST, --vhost AMQP_VHOST
                        RMQ virtual host
  -U AMQP_USER, --user AMQP_USER
                        RMQ username
  -P AMQP_PASSWORD, --password AMQP_PASSWORD
                        RMQ password

SMTP options:
  --smtp-host SMTP_HOST
                        Server host
  --smtp-port SMTP_PORT
                        Server port
  --smtp-user SMTP_USER
                        Authentication username. Do auth if set.
  --smtp-password SMTP_PASSWORD
                        Password.
  --smtp-tls            Use TLS.
  --smtp-sender SMTP_SENDER
                        Sender of messages [default: lumper@localhost]

Delivery options:
  --mail-map MAIL_MAP   github user to E-mail map json file with hash.
  --admin-mail ADMIN_MAIL
                        admin email for unknown users [default: root@localhost]

配置文件

您可以从命令行生成并保存配置

$ lumper mailer --gen-conf
{
 "admin_mail": "root@localhost",
 "amqp_address": "localhost",
 "amqp_password": null,
 "amqp_port": 5672,
 "amqp_user": null,
 "amqp_vhost": "/",
 "logging": null,
 "mail_map": null,
 "smtp_host": "localhost",
 "smtp_password": null,
 "smtp_port": 25,
 "smtp_sender": "lumper@localhost",
 "smtp_tls": false,
 "smtp_user": null
}

然后使用–config选项加载它。例如 lumper mailer –config /etc/lumper/mailer.json

将您的命令行转换为配置文件

$ lumper mailer --smtp-host mail.google.com --gen-conf
{
 ...
 "smtp_host": "mail.google.com",
 ...
}

注意: 必须定义选项–gen-conf在末尾。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

lumper-0.3.0.tar.gz (14.2 kB 查看哈希值)

上传时间:

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面