Jenkins主要是实现多个平台一起更新代码,只要开发人员提交了代码他就会更新。方便开发人员的查漏。
Jenkins是一个免费的开源连续集成服务器。 它是用JAVA编写的。 它可以用于自动化与软件开发相关的各种任务,如构建测试和部署。 它支持许多版本控制系统,如git,SVN,mercurial等。
在本教程中,我们将在CentOS 7服务器上安装Jenkins Automation Server。 我们还将设置Nginx作为Jenkins的反向代理。
环境:centos7.0在安装任何软件包之前,建议您使用以下命令更新软件包和存储库。
安装前准备工作
安装jdk1.8
yum -y update 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) 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 如果用反向代理,后面的端口,用户不用配置。 编辑jenkins的/etc/sysconfig/jenkins配置文件,修改端口、系统运行账户 vim /etc/sysconfig/jenkins JENKINS_USER="root" JENKINS_PORT="9009" 编辑/etc/profiles文件添加jenkins的环境变量 vim /etc/profile export JENKINS_HOME=/var/lib/jenkins/ source使profile中新添加的环境变量立即生效(无需重启) source /etc/profile 检查环境变量是否配置成功 echo $JENKINS_HOME service jenkins start
用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; } }
nginx启动和firewall的启动
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
下面是通过Tomcat启动Jenkins
Linux环境更改Jenkins的主目录
Linux环境中,Jenkins主目录默认在/root/.jenkins
Jenkins储存所有的数据文件在这个目录下. 你可以通过以下几种方式更改:
1、使用你Web容器的管理工具设置JENKINS_HOME环境参数.
打开tomcat的bin目录,编辑catalina.sh文件。 在# OS specific support. $var _must_ be set to either true or false.上面添加:export JENKINS_HOME="" 在引号中填入你的路径。
2、在启动Web容器之前设置JENKINS_HOME环境变量.
用root用户登录 编辑profile文件:vi /etc/profile 在最后加入:export JENKINS_HOME=xxxx 保存,退出后执行:source /etc/profile 让配置生效
Linux下修改Jenkins端口
vim /etc/sysconfig/jenkins 找到 JENKINS_PORT="8080" ,JENKINS_AJP_PORT="8009",分别修改成你需要的端口号 service jenkins restart
WEB界面配置
cat /var/lib/jenkins/secrets/initialAdminPassword
在下一个web界面上,它将安装插件,使用推荐安装
为Jenkins管理员信息板创建管理员用户
用户:admin
密码:admin
地址:....