如何在CentOS 7上使用Nginx安装Jenkins Automation Server

Jenkins是一个免费的开源连续集成服务器。 它是用JAVA编写的。 它可以用于自动化与软件开发相关的各种任务,如构建测试和部署。 它支持许多版本控制系统,如git,SVN,mercurial等。

在本教程中,我们将在CentOS 7服务器上安装Jenkins Automation Server。 我们还将设置Nginx作为Jenkins的反向代理。

条件

  • 最小CentOS 7服务器
  • 根权限 本指南以root用户身份编写,如果以sudo用户身份登录,请运行sudo -i

更新基本系统

在安装任何软件包之前,建议您使用以下命令更新软件包和存储库。

yum -y update

更新系统后,继续安装JAVA。

安装JAVA 8

Jenkins支持OpenJDK和Oracle JAVA,在本教程中,我们将安装最新版本的OpenJDK到服务器中。 运行以下命令在您的服务器上安装OpenJDK。

yum install java-1.8.0-openjdk

现在可以使用以下命令检查Java版本。

java -version

您将得到以下输出。

[root@liptan-pc ~]# 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文件。 在本教程中,我们将使用nano编辑器。 运行以下命令使用nano编辑.bash_profile

nano ~/.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命令来检查环境变量是否设置。

[root@pc ~]# echo $JAVA_HOME 
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/

现在您已安装JAVA,您可以继续安装Jenkins。

安装Jenkins

可以通过添加存储库并导入GPG密钥直接安装Jenkins。 通过运行以下命令将Jenkins存储库添加到系统中。

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

如果你没有安装wget ,可以运行yum -y install wget

通过运行以下命令导入GPG密钥。

rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

导入成功后,您可以通过运行以下命令来安装Jenkins。

yum -y install jenkins

Jenkins现在安装在您的服务器上。 现在安装了所有必需的软件包。 安装程序还创建了一个新用户jenkins来运行该进程。 您可以继续进行启动服务器。

开始Jenkins

您可以通过运行以下命令启动Jenkins。

systemctl start jenkins

要停止Jenkins,可以运行以下命令。

systemctl stop jenkins

您可以通过运行以下命令来检查进程的状态。

systemctl status jenkins

安装Nginx

我们可以使用Apache或Nginx Web服务器为应用程序创建一个反向代理,而不是访问端口8080上的应用程序。 在本教程中,我们将使用nginx作为应用程序的反向代理。 现在,nginx将在nginx代理服务器后面运行。 nginx在默认的YUM存储库中不可用。 您将需要安装EPEL仓库来安装Nginx。

yum -y install epel-release

现在可以通过运行Nginx来安装

yum -y install nginx

通过运行以下命令创建一个新的服务器块。

nano /etc/nginx/conf.d/jenkins.conf

使用以下内容填充文件。 将ci.yourdomain.com替换为您的实际域名。

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。

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

配置Jenkins

您现在可以通过访问以下网址访问Jenkins CI服务器的Web界面。

http://ci.yourdomain.com

ci.yourdomain.com替换为您的实际域。 您将看到以下界面。

它将要求您提供由安装程序生成并存储在/ var / lib / jenkins / secrets / initialAdminPassword文件中的初始管理员密码。 运行以下命令获取初始管理员密码。

cat /var/lib/jenkins/secrets/initialAdminPassword

使用密码登录进一步。

在下一节中,系统会询问您要安装哪些插件,对于初学者,建议您选择安装建议的插件

这将安装所有需要启动的插件。

在下一个界面上,它将安装插件。

现在,您将需要为Jenkins管理员信息板创建管理员用户。

最后,您将被带到Jenkins行政仪表板。

结论

您现在可以使用Jenkins在软件开发中持续集成。 您可以通过Jenkins网站了解更多关于Jenkins的信息

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏