Jenkins主要是实现多个平台一起更新代码,只要开发人员提交了代码他就会更新。方便开发人员的查漏。
个人理解持续集成:为解决程序代码提交质量低,提交内容导致原有系统的BUG,按时或按需自动编译版本,进行自动化测试。
百度对持续集成的定义:持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
具体可以参考:http://blog.51cto.com/linuxg/1790033
http://blog.51cto.com/linuxg/1791141
Jenkins是一个免费的开源连续集成服务器。 它是用JAVA编写的。 它可以用于自动化与软件开发相关的各种任务,如构建测试和部署。 它支持许多版本控制系统,如git,SVN,mercurial等。
在本教程中,我们将在CentOS 7服务器上安装Jenkins Automation Server。 我们还将设置Nginx作为Jenkins的反向代理。
环境:centos7.0
在安装任何软件包之前,建议您使用以下命令更新软件包和存储库。
yum -y update
更新系统后,继续安装JAVA。安装JAVA 8
Jenkins支持OpenJDK和Oracle JAVA,在本教程中,我们将安装最新版本的OpenJDK到服务器中。 运行以下命令在您的服务器上安装OpenJDK。
yum install java-1.8.0-openjdk
java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
您还需要检查是否设置了JAVA_HOME环境变量。 运行以下命令相同
echo $JAVA_HOME
如果获得空或空白输出,则需要手动设置JAVA_HOME变量,编辑器编辑.bash_profile文件
vi ~/.bash_profile
现在在文件的末尾添加以下行。
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/
export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/jre
使用以下命令来源文件。
source ~/.bash_profile
echo $ JAVA_HOME命令来检查环境变量是否设置。
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/
安装Jenkins
可以通过添加存储库并导入GPG密钥直接安装Jenkins。 通过运行以下命令将Jenkins存储库添加到系统中。
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
通过运行以下命令导入GPG密钥。
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
导入成功后,您可以通过运行以下命令来安装Jenkins。
yum -y install jenkins
Jenkins现在安装在您的服务器上。 现在安装了所有必需的软件包。 安装程序还创建了一个新用户jenkins来运行该进程。 您可以继续进行启动服务器。
开始Jenkins
systemctl start jenkins
systemctl status jenkins
们可以使用Apache或Nginx Web服务器为应用程序创建一个反向代理,而不是访问端口8080上的应用程序。
在本教程中,我们将使用nginx作为应用程序的反向代理。 现在,nginx将在nginx代理服务器后面运行
vi /usr/local/nginx/conf/vhost/jenkins.conf
upstream jenkins{
server 127.0.0.1:8080;
}
server{
listen 80;
server_name ci.yourdomain.com;
access_log /var/log/nginx/jenkins.access.log;
error_log /var/log/nginx/jenkins.error.log;
proxy_buffers 16 64k;
proxy_buffer_size 128k;
location / {
proxy_pass http://jenkins;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_redirect off;
proxy_set_header Host $host;
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 https;
}
}
systemctl start nginx
使Nginx自动启动
systemctl enable nginx
配置防火墙和SELinux
您的服务器上运行防火墙,则需要通过防火墙允许端口8080和标准HTTP端口。 运行以下命令添加防火墙规则以允许端口8080和80。
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-service=http --permanent
运行以下命令重新加载防火墙区域:
firewall-cmd --reload
通过运行以下命令配置SELinux进行nginx代理配置。
setsebool httpd_can_network_connect 1 -P
http://ci.yourdomain.com或者http://ip:8080
cat /var/lib/jenkins/secrets/initialAdminPassword
在下一个界面上,它将安装插件
为Jenkins管理员信息板创建管理员用户
用户:admin
密码:admin
地址:qq邮箱