Jenkins安装完成后,还要做哪些工作呢?如何结合nginx来更好的对外提供服务呢?本文记录了从安装jenkins到正常运行的一些工作。
Jenkins 介绍
The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project.
Jenkins帮助我们构建一切可自动化的工作。我对jenkins的看法,它替代了我们传统的运维、测试工作,相当于解放了我们的双手。当然第一次是需要你去定义它,你来把工作交给它。 以前我们发布程序可能是通过手动部署,或者使用工具批量部署,现在是在jenkins里面定义工作流,当触发了相对的条件时,Jenkins会自动的执行对应的工作。自动化测试、自动化部署,达到 持续交付(CD)、持续集成(CI)的目的。
安装jenkins
参考:官网安装指导Installing Jenkins on Ubuntu
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
deb https://pkg.jenkins.io/debian-stable binary/
sudo apt-get update
sudo apt-get install jenkins
sudo systemctl enable jenkins
附上ansible 安装playbook
安装nginx
参考:官网安装指导Installing Nginx Ubuntu
deb http://nginx.org/packages/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/ubuntu/ xenial nginx
sudo apt-get update
sudo apt-get install nginx
nginx与jenkins结合,并提供默认https
这里我们分成几小块,先配置nginx的默认https证书,我配置的是全局范围都使用同一个ssl证书(证书由 Lets’s Encrypt提供).
配置文件
nginx.conf
在http 范围内添加2行内容, 之后将证书文件放入/etc/nginx/ssl目录下。
http {
...
ssl_certificate ssl/fullchain.cer;
ssl_certificate_key ssl/oo.xxx.key;
}
jenkins-site.conf
upstream app_server {
server 127.0.0.1:8080 fail_timeout=0;
}
server {
listen 80;
server_name oo.xxx.com;
return 301 https://$host/$request_uri;
}
server {
listen 443 ssl;
server_name oo.xxx.com;
location / {
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect http:// https://;
proxy_pass http://app_server;
}
}
重启生效
重启nginx,使用oo.xxx.com 登录即可访问Jenkins登录页面。默认admin/admin登录。
设置 Jenkins安全性
- 勾选跨站攻击 “Manage Jenkins” > “Configure Global Security” and select “Prevent Cross Site Request Forgery exploits.”
一些有用的插件
- Blue Ocean
- Pipeline
- Basic Branch Build Strategies
- BearyChat
- Docker
- Email Extension
- Generic Webhook Trigger
- Kubernetes
- Simple Theme Plugin …
这里还有很多很多color的主题供你选择哈:afonsof