Jenkins 环境搭建

Jenkins 简介

Jenkins 是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

Java 安装

首先我们需要准备 Java 环境,使用下面命令来安装 Java:

yum -y install java-1.8.0-openjdk-devel

Jenkins 安装

为了使用 Jenkins 仓库,我们要执行以下命令:

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

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

如果您以前从 Jenkins 导入过 key,那么 rpm --import 将失败,因为您已经有一个 key。请忽略,继续下面步骤。

安装

接着我们可以使用 yum 安装 Jenkins:

yum -y install jenkins

启动 Jenkins

启动

启动 Jenkins 并设置为开机启动:

systemctl start jenkins.service

chkconfig jenkins on

测试访问

Jenkins 默认运行在 8080端口。

稍等片刻,打开测试访问。

进入 Jenkins

管理员密码

登入 Jenkins 需要输入管理员密码,按照提示,我们使用以下命令查看初始密码:

cat /var/lib/jenkins/secrets/initialAdminPassword

复制密码,填入,进入 Jenkins。

定制 Jenkins

我们选择默认的 install suggested plugins 来安装插件。

创建用户

请填入相应信息创建用户,然后即可登入 Jenkins 的世界。

nginx反向代理配置

server {

  listen          80;      # Listen on port 80 for IPv4 requests

  server_name    ci.xxx.xyz;

  #this is the jenkins web root directory (mentioned in the /etc/default/jenkins file)

  root            /var/run/jenkins/war/;

  access_log      /var/log/nginx/jenkins/access.log;

  error_log      /var/log/nginx/jenkins/error.log;

  ignore_invalid_headers off; #pass through headers from Jenkins which are considered invalid by Nginx server.

  location ~ "^/static/[0-9a-fA-F]{8}\/(.*)$" {

    #rewrite all static files into requests to the root

    #E.g /static/12345678/css/something.css will become /css/something.css

    rewrite "^/static/[0-9a-fA-F]{8}\/(.*)" /$1 last;

  }

  location /userContent {

    #have nginx handle all the static requests to the userContent folder files

    #note : This is the $JENKINS_HOME dir

root /var/lib/jenkins/;

    if (!-f $request_filename){

      #this file does not exist, might be a directory or a /**view** url

      rewrite (.*) /$1 last;

  break;

    }

sendfile on;

  }

  location @jenkins {

      sendfile off;

      proxy_pass        http://127.0.0.1:8080;

      proxy_redirect    default;

      proxy_http_version 1.1;

      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 $scheme;

      proxy_max_temp_file_size 0;

      #this is the maximum upload size

      client_max_body_size      10m;

      client_body_buffer_size    128k;

      proxy_connect_timeout      90;

      proxy_send_timeout        90;

      proxy_read_timeout        90;

      proxy_request_buffering    off; # Required for HTTP CLI commands in Jenkins > 2.54

  }

  location / {

    # Optional configuration to detect and redirect iPhones

    if ($http_user_agent ~* '(iPhone|iPod)') {

      rewrite ^/$ /view/iphone/ redirect;

    }

    try_files $uri @jenkins;

  }

}

你可能感兴趣的:(Jenkins 环境搭建)