docker的容器构建器。
项目描述
为docker提供的分布式构建系统。将通过tag-webhook从github拉取仓库,并通过Dockerfile进行构建。
功能
分布式系统。任何部分都可以在不同的主机上运行。
电子邮件通知(成功和错误)。
推送到公共或私有docker注册表。
在队列中构建。
将异常报告通过电子邮件发送给管理员。
docker守护进程的TLS客户端认证。
SMTP认证
通过webhook标签从github构建(您可能可以通过pull-request为其他服务创建扩展)。
多安装(感谢RMQ vhosts)
要求
Python >=2.7 (>3.4需要测试)。
RabbitMQ服务器。为组件提供通信。
部分
系统由3部分组成
WEB服务器。基于tornado http服务器以接受webhook
工作进程。构建守护进程监听AMQP
邮递员。邮件守护进程。提供有关构建结果的通知。
安装
安装Rabbitmq服务器
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的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 09efb02ee3c303cf61d27b98c2fcd2f8e3432cc62ed22dec73ea364019d0aa27 |
|
| MD5 | b8b1ccd9ce36e9315e97e31c542fb7aa |
|
| BLAKE2b-256 | ae537b70b25a0977c64d1ce5ca625200f0e44f5ee53900e73f57a7cca57428e8 |