appliances: new appliance: jenkins
This appliance runs the Jenkins[1] continuous integration tool. The service is available via HTTP port 80. [1] http://jenkins-ci.org/
This commit is contained in:
parent
42d8f6df45
commit
a8eb60d006
|
@ -0,0 +1,36 @@
|
||||||
|
JENKINS_HOME ?= /var/lib/jenkins
|
||||||
|
JENKINS_URL = http://mirrors.jenkins-ci.org/war/latest/jenkins.war
|
||||||
|
|
||||||
|
preinstall:
|
||||||
|
|
||||||
|
create_user:
|
||||||
|
-$(inroot) useradd --system \
|
||||||
|
--comment "Jenkins CI" \
|
||||||
|
--home-dir=$(JENKINS_HOME) \
|
||||||
|
--create-home \
|
||||||
|
jenkins
|
||||||
|
|
||||||
|
|
||||||
|
$(CHROOT)/$(JENKINS_HOME)/jenkins.war:
|
||||||
|
$(inroot) wget -O $(JENKINS_HOME)/jenkins.war $(JENKINS_URL)
|
||||||
|
|
||||||
|
|
||||||
|
install_jenkins:
|
||||||
|
$(MAKE) $(CHROOT)/$(JENKINS_HOME)/jenkins.war
|
||||||
|
|
||||||
|
|
||||||
|
postinstall: jenkins.service nginx.conf
|
||||||
|
$(MAKE) create_user
|
||||||
|
$(inroot) rm -rf $(JENKINS_HOME)
|
||||||
|
$(inroot) mkdir -p $(JENKINS_HOME)
|
||||||
|
$(MAKE) install_jenkins
|
||||||
|
$(inroot) chown -R jenkins:jenkins $(JENKINS_HOME)
|
||||||
|
cp -u jenkins.service $(CHROOT)/etc/systemd/system
|
||||||
|
$(inroot) systemctl enable jenkins.service
|
||||||
|
cp -u nginx.conf $(CHROOT)/etc/nginx/nginx.conf
|
||||||
|
$(inroot) systemctl enable nginx.service
|
||||||
|
|
||||||
|
clean:
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: create_user preinstall postinstall clean install_jenkins
|
|
@ -0,0 +1,13 @@
|
||||||
|
[Unit]
|
||||||
|
Description = An extensible open source continuous integration server
|
||||||
|
After = network.target
|
||||||
|
Wants = nginx.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User = jenkins
|
||||||
|
Group = jenkins
|
||||||
|
Environment=JENKINS_HOME=/var/lib/jenkins
|
||||||
|
ExecStart = /usr/bin/java -jar ${JENKINS_HOME}/jenkins.jar
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy = multi-user.target
|
|
@ -0,0 +1,2 @@
|
||||||
|
# Settings for TeamPlayer
|
||||||
|
NGINX_MODULES_HTTP="auth_basic gzip proxy referer rewrite headers_more uwsgi"
|
|
@ -0,0 +1,76 @@
|
||||||
|
user nginx nginx;
|
||||||
|
worker_processes 1;
|
||||||
|
|
||||||
|
error_log /var/log/nginx/error_log info;
|
||||||
|
|
||||||
|
events {
|
||||||
|
worker_connections 1024;
|
||||||
|
use epoll;
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
include /etc/nginx/mime.types;
|
||||||
|
default_type application/octet-stream;
|
||||||
|
|
||||||
|
log_format main
|
||||||
|
'$remote_addr - $remote_user [$time_local] '
|
||||||
|
'"$request" $status $bytes_sent '
|
||||||
|
'"$http_referer" "$http_user_agent" '
|
||||||
|
'"$gzip_ratio"';
|
||||||
|
|
||||||
|
client_header_timeout 10m;
|
||||||
|
client_body_timeout 10m;
|
||||||
|
send_timeout 10m;
|
||||||
|
|
||||||
|
connection_pool_size 256;
|
||||||
|
client_header_buffer_size 1k;
|
||||||
|
large_client_header_buffers 4 2k;
|
||||||
|
request_pool_size 4k;
|
||||||
|
|
||||||
|
gzip on;
|
||||||
|
gzip_min_length 1100;
|
||||||
|
gzip_buffers 4 8k;
|
||||||
|
gzip_types text/plain;
|
||||||
|
|
||||||
|
output_buffers 1 32k;
|
||||||
|
postpone_output 1460;
|
||||||
|
|
||||||
|
sendfile on;
|
||||||
|
tcp_nopush on;
|
||||||
|
tcp_nodelay on;
|
||||||
|
|
||||||
|
keepalive_timeout 75 20;
|
||||||
|
|
||||||
|
ignore_invalid_headers on;
|
||||||
|
|
||||||
|
index index.html;
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 0.0.0.0;
|
||||||
|
server_name localhost;
|
||||||
|
|
||||||
|
access_log /var/log/nginx/jenkins.access_log main;
|
||||||
|
error_log /var/log/nginx/jenkins.error_log info;
|
||||||
|
|
||||||
|
root /var/www/jenkins/htdocs;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://127.0.0.1:8080/;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# SSL example
|
||||||
|
#server {
|
||||||
|
# listen 127.0.0.1:443;
|
||||||
|
# server_name localhost;
|
||||||
|
|
||||||
|
# ssl on;
|
||||||
|
# ssl_certificate /etc/ssl/nginx/nginx.pem;
|
||||||
|
# ssl_certificate_key /etc/ssl/nginx/nginx.key;
|
||||||
|
|
||||||
|
# access_log /var/log/nginx/jenkins.ssl_access_log main;
|
||||||
|
# error_log /var/log/nginx/jenkins.ssl_error_log info;
|
||||||
|
|
||||||
|
# root /var/www/jenkins/htdocs;
|
||||||
|
#}
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
sys-kernel/gentoo-sources ~amd64 ~x86
|
|
@ -0,0 +1,15 @@
|
||||||
|
app-editors/nano ncurses
|
||||||
|
dev-lang/python ssl threads xml
|
||||||
|
dev-libs/libpcre cxx
|
||||||
|
dev-util/pkgconfig internal-glib
|
||||||
|
net-misc/openssh ssl
|
||||||
|
net-misc/wget ssl
|
||||||
|
sys-apps/hwids udev
|
||||||
|
sys-apps/kmod tools
|
||||||
|
sys-apps/portage ipc
|
||||||
|
sys-auth/pambase nullok sha512
|
||||||
|
sys-devel/gcc cxx nptl
|
||||||
|
sys-kernel/gentoo-sources symlink
|
||||||
|
|
||||||
|
# for Jenkins
|
||||||
|
www-servers/nginx http
|
|
@ -0,0 +1,2 @@
|
||||||
|
dev-java/icedtea-bin
|
||||||
|
www-servers/nginx
|
Loading…
Reference in New Issue